HTTPS证书自签,nginx证书自签及配置,jdk证书自签及配置

本文详细介绍了如何在JDK环境下自签名服务器与客户端证书,并进行导入配置;同时涵盖了在Linux系统下利用openssl生成私钥与公钥,以及如何配置nginx支持HTTPS,包括证书的生成、配置与应用导出流程。

一 JDK证书自签及导入

1 切换到jdk的bin目录

cd E:\Program Files\Java\jre1.8.0_181\bin

2 生成服务器证书

keytool.exe -genkey -alias xxx -keyalg RSA -keypass yyy -keysize 1024 -validity 365 -keystore e:\etc\cas\thekeystore -storepass yyy
说明: 下面参数自行定义
-alias : 证书别名
-keypass : 秘钥口令
-storepass : 秘钥库口令
可通过keytool.exe -genkey -help,查看帮助

3 通过服务器证书生成客户端证书

keytool.exe -keystore e:\etc\cas\thekeystore -export -alias xxx -file e:\etc\cas\yyy.cer
说明: 下面参数自行定义
-alias : 证书别名
-file : 与服务器证书的地址和名称保持一致

4 客户端证书导入JDK

keytool.exe -import -alias xxx -file D:\ftp_file\yyy.cer -keystore “E:\Program Files\Java\jre1.8.0_181\lib\security\cacerts” -storepass changeit

二 linux下openssl签发私钥公钥并配置nginx的https

1 生成秘钥

openssl genrsa -out test.key 2048

2 根据秘钥生成公钥

openssl req -new -x509 -days 365 -key test.key -out test.crt

3 将证书拷贝到nginx的conf目录下

cp test.key /usr/local/nginx/conf
cp test.crt /usr/local/nginx/conf

4 配置nginx的conf文件

server {
    listen       443;
    server_name  localhost;
    ssl   on;

    ssl_certificate      test.crt;
    ssl_certificate_key  test.key;

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;

    location /xxx {
                proxy_redirect off;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_pass https://ip:port/xxx;
        }
}

5 从应用中导出证书

打开应用,点击https证书的信息,导出证书。如果需要导入到jdk中,则使用上面JDK导入方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值