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

被折叠的 条评论
为什么被折叠?



