注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

隐龙 为了一生的信念

今日默默沉于水,他日飞腾在九天...

 
 
 

日志

 
 

OpenSSL 证书管理流程  

2012-07-25 12:05:36|  分类: CAS/SSO |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

整理了个 Windows 批处理文件,需要 8 个步骤。

  1. ECHO OFF  
  2.    
  3. REM 参考链接:http://book.51cto.com/art/201004/192440.htm  
  4.    
  5. PUSHD "E:\OpenSSL 证书管理\"  
  6. ECHO.  
  7.   
  8. ECHO 1. 构建随机数 .rnd  
  9. openssl rand -out .rnd 1000  
  10. :: 各参数的含义如下所示:  
  11. ::     rand 随机数命令。  
  12. ::     -out 输出文件路径,这里将随机数文件 .rnd 输出到当前目录。  
  13. ::     1000 指产生的伪随机数字节数。  
  14. ECHO.  
  15.   
  16. ECHO 2. 构建根证书私钥 ca.key.pem  
  17. openssl genrsa -aes256 -out ca.key.pem 2048  
  18. :: 各参数的含义如下所示:  
  19. ::     genrsa  产生 RSA 密钥命令。  
  20. ::     -aes256 使用 AES 算法(256位密钥)对产生的私钥加密。可选算法包括 DES、DESede、IDEA 和 AES。  
  21. ::     -out    输出路径,这里指 ca.key.pem 文件。  
  22. ::     2048    指 RSA 密钥长度比特位数,默认长度为 512 位。  
  23. ::   
  24. :: 注:1) 需要指定根证书密码 (pass phrase for ca.key.pem),设为: 123456  
  25. ::     2) OpenSSL 通常使用 PEM(Privacy Enbanced Mail,隐私增强邮件)编码格式保存私钥。  
  26. ECHO.  
  27.   
  28. ECHO 3. 生成根证书签发申请 ca.csr  
  29. openssl req -new -key ca.key.pem -out ca.csr -subj "/C=CN/ST=BJ/L=BJ/O=zlex/OU=zlex/CN=*.zlex.org"  
  30. :: 各参数的含义如下所示:  
  31. ::     req   产生证书签发申请命令。  
  32. ::     -new  表示新请求。  
  33. ::     -key  密钥,这里为 ca.key.pem 文件。  
  34. ::     -out  输出路径,这里为 ca.csr 文件。  
  35. ::     -subj 指定用户信息,这里使用泛域名 "*.zlex.org" 作为用户名。  
  36. ::   
  37. :: 注:需要输入根证书密码: 123456  
  38. ECHO.  
  39.   
  40. ECHO 4. 签发根证书 ca.cer  
  41. openssl x509 -req -days 10000 -sha1 -extensions v3_ca -signkey ca.key.pem -in  ca.csr -out ca.cer  
  42. :: 各参数的含义如下所示:  
  43. ::     x509        签发 X.509 格式证书命令。  
  44. ::     -req        表示证书输入请求。  
  45. ::     -days       表示有效天数,这里为 10000 天。  
  46. ::     -sha1       表示证书摘要算法,这里为 SHA1 算法。  
  47. ::     -extensions 表示按 OpenSSL 配置文件 v3_ca 项添加扩展。  
  48. ::     -signkey    表示自签名密钥,这里为 ca.key.pem 文件。  
  49. ::     -in         表示输入文件,这里为 ca.csr 文件。  
  50. ::     -out        表示输出文件,这里为 ca.cer 文件。  
  51. ::   
  52. :: 注:1) 需要输入根证书密码: 123456  
  53. ::     2) 构建的根证书 ca.cer 可以用来签发服务器证书和客户证书。  
  54. ECHO.  
  55.   
  56. ECHO 5. 根证书转换 ca.p12  
  57. openssl pkcs12 -export -cacerts -inkey ca.key.pem -in ca.cer -out ca.p12  
  58. :: 各参数的含义如下所示:  
  59. ::     pkcs12   PKCS#12 编码格式证书命令。  
  60. ::     -export  表示导出证书。  
  61. ::     -cacerts 表示仅导出CA证书。  
  62. ::     -inkey   表示输入密钥,这里为 ca.key.pem 文件。  
  63. ::     -in      表示输入文件,这里为 ca.cer 文件。  
  64. ::     -out     表示输出文件,这里为 ca.p12 文件。  
  65. ::   
  66. :: 注:1) 需要输入根证书密码: 123456  
  67. ::     2) 需要设定导出密码 (Export Password),设为: abcdef  
  68. ::     3) OpenSSL 产生的数字证书不能在 Java 语言环境中直接使用,需要将其转化为 PKCS#12 编码格式。  
  69. ECHO.  
  70.   
  71. ECHO 6. 构建服务器私钥 server.key.pem  
  72. openssl genrsa -aes256 -out server.key.pem 2048  
  73. :: 各参数的含义如下所示:  
  74. ::     genrsa  产生 RSA 密钥命令。  
  75. ::     -aes256 使用 AES 算法(256位密钥)对产生的私钥加密。可选算法包括 DES、DESede、IDEA 和 AES。  
  76. ::     -out    输出路径,这里指 server.key.pem 文件。  
  77. ::     2048    指 RSA 密钥长度比特位数,默认长度为 512 位。  
  78. ::   
  79. :: 注:需要指定服务器证书密码 (pass phrase for server.key.pem),设为: 234567  
  80. ECHO.  
  81.   
  82. ECHO 7. 生成服务器证书签发申请 server.csr  
  83. openssl req -new -key server.key.pem -out server.csr -subj "/C=CN/ST=BJ/L=BJ/O=zlex/OU=zlex/CN=www.zlex.org"  
  84. :: 各参数的含义如下所示:  
  85. ::     req   产生证书签发申请命令。  
  86. ::     -new  表示新请求。  
  87. ::     -key  密钥,这里为 server.key.pem 文件。  
  88. ::     -out  输出路径,这里为 server.csr 文件。  
  89. ::     -subj 指定用户信息,这里使用域名 "www.zlex.org" 作为用户名。  
  90. ::   
  91. :: 注:需要输入服务器证书密码: 234567  
  92. ECHO.  
  93.   
  94. ECHO 8. (使用根证书)签发服务器证书 server.cer  
  95. openssl x509 -req -days 3650 -sha1 -extensions v3_req -CA ca.cer -CAkey ca.key.pem -CAserial ca.srl -CAcreateserial -in server.csr -out server.cer  
  96. :: 各参数的含义如下所示:  
  97. ::     x509            签发 X.509 格式证书命令。  
  98. ::     -req            表示证书输入请求。  
  99. ::     -days           表示有效天数,这里为 3650 天。  
  100. ::     -sha1           表示证书摘要算法,这里为 SHA1 算法。  
  101. ::     -extensions     表示按 OpenSSL 配置文件 v3_req 项添加扩展。  
  102. ::     -CA             表示 CA 证书,这里为 ca.cer 文件。  
  103. ::     -CAkey          表示 CA 证书密钥,这里为 ca.key.pem 文件。  
  104. ::     -CAserial       表示 CA 证书序列号文件,这里为 ca.srl 文件。  
  105. ::     -CAcreateserial 表示创建 CA 证书序列号 文件。  
  106. ::     -in             表示输入文件,这里为 server.csr 文件。  
  107. ::     -out            表示输出文件,这里为 server.cer 文件。  
  108. ::   
  109. :: 注:需要输入根证书密码: 123456  
  110. PAUSE  
  111. ECHO.  
  112.   
  113. POPD  
  114. ECHO ON  
ECHO OFF     REM 参考链接:http://book.51cto.com/art/201004/192440.htm     PUSHD "E:\OpenSSL 证书管理\"  ECHO.    ECHO 1. 构建随机数 .rnd  openssl rand -out .rnd 1000  :: 各参数的含义如下所示:  ::     rand 随机数命令。  ::     -out 输出文件路径,这里将随机数文件 .rnd 输出到当前目录。  ::     1000 指产生的伪随机数字节数。  ECHO.    ECHO 2. 构建根证书私钥 ca.key.pem  openssl genrsa -aes256 -out ca.key.pem 2048  :: 各参数的含义如下所示:  ::     genrsa  产生 RSA 密钥命令。  ::     -aes256 使用 AES 算法(256位密钥)对产生的私钥加密。可选算法包括 DES、DESede、IDEA 和 AES。  ::     -out    输出路径,这里指 ca.key.pem 文件。  ::     2048    指 RSA 密钥长度比特位数,默认长度为 512 位。  ::   :: 注:1) 需要指定根证书密码 (pass phrase for ca.key.pem),设为: 123456  ::     2) OpenSSL 通常使用 PEM(Privacy Enbanced Mail,隐私增强邮件)编码格式保存私钥。  ECHO.    ECHO 3. 生成根证书签发申请 ca.csr  openssl req -new -key ca.key.pem -out ca.csr -subj "/C=CN/ST=BJ/L=BJ/O=zlex/OU=zlex/CN=*.zlex.org"  :: 各参数的含义如下所示:  ::     req   产生证书签发申请命令。  ::     -new  表示新请求。  ::     -key  密钥,这里为 ca.key.pem 文件。  ::     -out  输出路径,这里为 ca.csr 文件。  ::     -subj 指定用户信息,这里使用泛域名 "*.zlex.org" 作为用户名。  ::   :: 注:需要输入根证书密码: 123456  ECHO.    ECHO 4. 签发根证书 ca.cer  openssl x509 -req -days 10000 -sha1 -extensions v3_ca -signkey ca.key.pem -in  ca.csr -out ca.cer  :: 各参数的含义如下所示:  ::     x509        签发 X.509 格式证书命令。  ::     -req        表示证书输入请求。  ::     -days       表示有效天数,这里为 10000 天。  ::     -sha1       表示证书摘要算法,这里为 SHA1 算法。  ::     -extensions 表示按 OpenSSL 配置文件 v3_ca 项添加扩展。  ::     -signkey    表示自签名密钥,这里为 ca.key.pem 文件。  ::     -in         表示输入文件,这里为 ca.csr 文件。  ::     -out        表示输出文件,这里为 ca.cer 文件。  ::   :: 注:1) 需要输入根证书密码: 123456  ::     2) 构建的根证书 ca.cer 可以用来签发服务器证书和客户证书。  ECHO.    ECHO 5. 根证书转换 ca.p12  openssl pkcs12 -export -cacerts -inkey ca.key.pem -in ca.cer -out ca.p12  :: 各参数的含义如下所示:  ::     pkcs12   PKCS#12 编码格式证书命令。  ::     -export  表示导出证书。  ::     -cacerts 表示仅导出CA证书。  ::     -inkey   表示输入密钥,这里为 ca.key.pem 文件。  ::     -in      表示输入文件,这里为 ca.cer 文件。  ::     -out     表示输出文件,这里为 ca.p12 文件。  ::   :: 注:1) 需要输入根证书密码: 123456  ::     2) 需要设定导出密码 (Export Password),设为: abcdef  ::     3) OpenSSL 产生的数字证书不能在 Java 语言环境中直接使用,需要将其转化为 PKCS#12 编码格式。  ECHO.    ECHO 6. 构建服务器私钥 server.key.pem  openssl genrsa -aes256 -out server.key.pem 2048  :: 各参数的含义如下所示:  ::     genrsa  产生 RSA 密钥命令。  ::     -aes256 使用 AES 算法(256位密钥)对产生的私钥加密。可选算法包括 DES、DESede、IDEA 和 AES。  ::     -out    输出路径,这里指 server.key.pem 文件。  ::     2048    指 RSA 密钥长度比特位数,默认长度为 512 位。  ::   :: 注:需要指定服务器证书密码 (pass phrase for server.key.pem),设为: 234567  ECHO.    ECHO 7. 生成服务器证书签发申请 server.csr  openssl req -new -key server.key.pem -out server.csr -subj "/C=CN/ST=BJ/L=BJ/O=zlex/OU=zlex/CN=www.zlex.org"  :: 各参数的含义如下所示:  ::     req   产生证书签发申请命令。  ::     -new  表示新请求。  ::     -key  密钥,这里为 server.key.pem 文件。  ::     -out  输出路径,这里为 server.csr 文件。  ::     -subj 指定用户信息,这里使用域名 "www.zlex.org" 作为用户名。  ::   :: 注:需要输入服务器证书密码: 234567  ECHO.    ECHO 8. (使用根证书)签发服务器证书 server.cer  openssl x509 -req -days 3650 -sha1 -extensions v3_req -CA ca.cer -CAkey ca.key.pem -CAserial ca.srl -CAcreateserial -in server.csr -out server.cer  :: 各参数的含义如下所示:  ::     x509            签发 X.509 格式证书命令。  ::     -req            表示证书输入请求。  ::     -days           表示有效天数,这里为 3650 天。  ::     -sha1           表示证书摘要算法,这里为 SHA1 算法。  ::     -extensions     表示按 OpenSSL 配置文件 v3_req 项添加扩展。  ::     -CA             表示 CA 证书,这里为 ca.cer 文件。  ::     -CAkey          表示 CA 证书密钥,这里为 ca.key.pem 文件。  ::     -CAserial       表示 CA 证书序列号文件,这里为 ca.srl 文件。  ::     -CAcreateserial 表示创建 CA 证书序列号 文件。  ::     -in             表示输入文件,这里为 server.csr 文件。  ::     -out            表示输出文件,这里为 server.cer 文件。  ::   :: 注:需要输入根证书密码: 123456  PAUSE  ECHO.    POPD  ECHO ON


  评论这张
 
阅读(1321)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018