Nginx证书配置:cer文件和jks文件转nginx证书.crt和key文件

本文详细记录了在Windows系统上使用Nginx 1.14.2配置SSL证书的步骤,包括使用JDK的keytool生成密钥库和证书,将证书转换为不同格式,以及Nginx服务器的配置。通过这个过程,可以实现HTTPS的服务器安全设置。
摘要由CSDN通过智能技术生成

记录一次Nginx证书配置,我这个过程可能有些繁琐,如果大牛有更好的办法,欢迎评论指正环境
windows系统
nginx 1.14.2
步骤
1.利用JDK的keytool工具生成密钥库和证书(以下代码片段是一个bat脚本)

@echo on
rem 1. 生成密钥库
rem 生成密钥对  加密算法RSA 证书拥有者信息 server条目 server.jks密钥库 条目密码 密钥库密码
keytool -genkeypair -keyalg RSA -dname "CN=HanLuo" -alias server -keystore server.jks -keypass 123456 -storepass 123456

rem 2. 导出条目为自签名证书
rem 导出到server.cer文件中 server条目 server.jks密钥库 密钥库密码
keytool -exportcert -file server.cer -alias server -keystore server.jks -storepass 123456

rem 3. 将自签名证书导入信任库
rem 导入证书 server.cer server条目 导入client_trusk.jks信任库 密钥库密码 条目密码
keytool -importcert -file server.cer -alias server -keyalg client_trusk.jks -storepass 123456 -keypass 123456



1.1 查看jks文件中的entry

keytool -list -keystore server.jks


2.将.jks文件转为.p12(PKCS12格式证书库)
keytool -importkeystore -srckeysotre server.jks -destkeystore server-pkcs12.p12 -deststoretype PKCS12

2.2 查看新格式(pkcs12)证书库
keytool -deststoretype PKCS12 -keystore server-pkcs12.p12 -list

3.将cer格式证书转pem格式
openssl x509 -inform der -in server.cer -out server-pem.pem

4. 提取私钥
openssl pkcs12 -nocerts -nodes -in server-pkcs12.p12 -out server.key

5. nginx服务器配置
    

server {
        #监听端口和域名
        listen      443 ssl; 
        server_name  localhost;
         #以下两个为证书文件
        ssl_certificate D:/java/nginx-1.14.2/cert/server-p.pem;
        ssl_certificate_key D:/java/nginx-1.14.2/cert/server.key;
        ssl_session_timeout 1m;
        ssl_protocols SSLv2 SSLv3 TLSv1.2;
        ssl_ciphers     ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256:AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;
        ssl_prefer_server_ciphers   on;
        location / {
            root D:/nginx/portal;
            index index.html;
        }
    }
    # 访问80端口时转发到443端口,转为https访问
    server {
        listen       80;
        server_name  localhost;
        return 301 https://$host$request_uri;
    }


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值