加载中…
个人资料
Scoffied
Scoffied
  • 博客等级:
  • 博客积分:0
  • 博客访问:335,456
  • 关注人气:60
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

Nginx SSL 配置:证书文件制作

(2010-08-04 09:55:12)
标签:

ssl

nginx

证书

杂谈

分类: Linux/Unix

一、制作负载均衡使用的证书文件
 从相关部门获取对应的证书文件(my.jks)、证书的密码(mypass)、证书对应的名称,通常为IP或者域名(myalias),
 通常jks文件包含了服务器的私钥(server.key),服务器证书(server.crt)、根证书(ca.crt)
二、通过java的keytool工具导出成 PKCS12 格式文件(my.p12)
 
 keytool -importkeystore -srckeystore my.jks -destkeystore my.p12 -srcstoretype JKS -deststoretype PKCS12  \
  -srcstorepass mypass -deststorepass mypass -srcalias myalias -destalias myalias -srckeypass mypass -destkeypass mypass -noprompt
 
 上述命令在一行执行
 
三、使用openssl把PKCS12文件(my.p12)转换成我们需要的pem文件(my.pem)

 openssl pkcs12 -in my.p12 -out my.pem -passin pass:mypass -passout pass:mypass

四、分离my.pem文件,导出服务器配置所需文件
 my.pem一个文件里面实际上包含了服务器做双向SSL证书认证的所有文件,打开my.pem能查看所有的key和证书
 
 得到配置服务器使用的 server.crt,server.key,ca.crt 文件,上述访问的命令分别为:
 openssl pkcs12 -in my.p12  -nodes -nocerts -out server.key
 openssl pkcs12 -in my.p12  -nodes -nokeys -clcerts -out server.crt
 openssl pkcs12 -in my.p12  -nodes -nokeys -cacerts -out ca.crt
 
 
 
五、配置NGINX
  ssl  on;
  ssl_certificate  /path/to/server.crt;
  ssl_certificate_key  /path/to/server.key;                              
  ssl_client_certificate /path/to/ca.crt;
  ssl_verify_client on; 
  
  # 此行方便在java中能够得到证书信息
  proxy_set_header    X-Forwarded-Proto https;
 
六、上述配置后,在重新启动服务器的时候,老是让你输入私有key的密码,为此

  openssl rsa -in server.key -out server.key.unsecure
  修改NGINX配置:
  ssl_certificate_key  /path/to/server.key.unsecure;
  

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有