windows下使用openssls生成证书

转载 2016年08月30日 16:28:40

原博客地址:点击打开链接

一:生成CA证书 
目前不使用第三方权威机构的CA来认证,自己充当CA的角色。  
网上下载一个openssl软件 
1.创建私钥 : 
C:\OpenSSL\bin>openssl genrsa -out ca/ca-key.pem 1024  
2.创建证书请求 : 
C:\OpenSSL\bin>openssl req -new -out ca/ca-req.csr -key ca/ca-key.pem  
----- 
Country Name (2 letter code) [AU]:cn 
State or Province Name (full name) [Some-State]:zhejiang 
Locality Name (eg, city) []:hangzhou 
Organization Name (eg, company) [Internet Widgits Pty Ltd]:skyvision 
Organizational Unit Name (eg, section) []:test 
Common Name (eg, YOUR name) []:root 
Email Address []:sky 
3.自签署证书 : 
C:\OpenSSL\bin>openssl x509 -req -in ca/ca-req.csr -out ca/ca-cert.pem -signkey ca/ca-key.pem -days 3650 
4.将证书导出成浏览器支持的.p12格式 : 
C:\OpenSSL\bin>openssl pkcs12 -export -clcerts -in ca/ca-cert.pem -inkey ca/ca-key.pem -out ca/ca.p12  

5.转换格式:
openssl x509 -in ca/ca-cert.pem -out ca/ca-cert.cer

密码:changeit       
二.生成server证书。  
1.创建私钥 : 
C:\OpenSSL\bin>openssl genrsa -out server/server-key.pem 1024  
2.创建证书请求 : 
C:\OpenSSL\bin>openssl req -new -out server/server-req.csr -key server/server-key.pem  
----- 
Country Name (2 letter code) [AU]:cn 
State or Province Name (full name) [Some-State]:zhejiang 
Locality Name (eg, city) []:hangzhou 
Organization Name (eg, company) [Internet Widgits Pty Ltd]:skyvision 
Organizational Unit Name (eg, section) []:test 
Common Name (eg, YOUR name) []:192.168.1.246   注释:一定要写服务器所在的ip地址 
Email Address []:sky 
3.自签署证书 : 
C:\OpenSSL\bin>openssl x509 -req -in server/server-req.csr -out server/server-cert.pem -signkey server/server-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 3650  
4.将证书导出成浏览器支持的.p12格式 : 
C:\OpenSSL\bin>openssl pkcs12 -export -clcerts -in server/server-cert.pem -inkey server/server-key.pem -out server/server.p12  
密码:changeit 
三.生成client证书。  
1.创建私钥 : 
C:\OpenSSL\bin>openssl genrsa -out client/client-key.pem 1024  
2.创建证书请求 : 
C:\OpenSSL\bin>openssl req -new -out client/client-req.csr -key client/client-key.pem 
----- 
Country Name (2 letter code) [AU]:cn 
State or Province Name (full name) [Some-State]:zhejiang 
Locality Name (eg, city) []:hangzhou 
Organization Name (eg, company) [Internet Widgits Pty Ltd]:skyvision 
Organizational Unit Name (eg, section) []:test 
Common Name (eg, YOUR name) []:sky 
Email Address []:sky      注释:就是登入中心的用户(本来用户名应该是Common Name,但是中山公安的不知道为什么使用的Email Address,其他版本没有测试) 
Please enter the following 'extra' attributes 
to be sent with your certificate request 
A challenge password []:123456 
An optional company name []:tsing  
3.自签署证书 : 
C:\OpenSSL\bin>openssl x509 -req -in client/client-req.csr -out client/client-cert.pem -signkey client/client-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 3650  
4.将证书导出成浏览器支持的.p12格式 : 
C:\OpenSSL\bin>openssl pkcs12 -export -clcerts -in client/client-cert.pem -inkey client/client-key.pem -out client/client.p12  
密码:changeit 
四.根据ca证书生成jks文件  
C:\Java\jdk1.5.0_09\bin > keytool -keystore C:\openssl\bin\jks\truststore.jks -keypass 222222 -storepass 222222 -alias ca -import -trustcacerts -file C:\openssl\bin\ca\ca-cert.pem  
五.配置tomcat ssl 
修改conf/server.xml。tomcat6中多了SSLEnabled="true"属性。keystorefile, truststorefile设置为你正确的相关路径  
xml 代码 
tomcat 5.5的配置: 

<Connector port="8443" maxHttpHeaderSize="8192" 
        maxThreads="150" minSpareThreads="25" maxSpareThreads="75" 
        enableLookups="false" disableUploadTimeout="true" 
        acceptCount="100" scheme="https" secure="true" 
        clientAuth="true" sslProtocol="TLS"  
       keystoreFile="server.p12" keystorePass="changeit" keystoreType="PKCS12"  
       truststoreFile="truststore.jks" truststorePass="222222" truststoreType="JKS" />   

tomcat6.0的配置: 

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" 
         maxThreads="150" scheme="https" secure="true" 
         clientAuth="true" sslProtocol="TLS" 
         keystoreFile="server.p12" keystorePass="changeit" keystoreType="PKCS12"  
         truststoreFile="truststore.jks" truststorePass="222222" truststoreType="JKS"/> 


六.导入证书 
将ca.p12,client.p12分别导入到IE中去(打开IE->;Internet选项->内容->证书)。  
ca.p12导入至受信任的根证书颁发机构,client.p12导入至个人 
七.验证ssl配置是否正确访问你的应用http://ip:8443/,如果配置正确的话会出现请求你数字证书的对话框。 

Windows安装使用Openssl

什么是OpenSSL? OpenSSL是用于安全通信的著名开源密码学工具包,包括主要的密码算法、常见密码和证书封装功能。 1. OpenSSL官网 官方下载地址: https:/...
  • KiTok
  • KiTok
  • 2017年06月09日 14:32
  • 1053

windows 命令行调用openssl

1.首先下载安装openssl: https://www.openssl.org/about/binaries.html 进入OpenSSL for Windows 下载页面 下载32位或64位 ...

在Windows下编译OpenSSL

本文转载自:http://lwglucky.blog.51cto.com/1228348/325483,感谢原作者 需要说明的是请一定安装openssl-0.9.8a 。  openssl-...
  • mfcing
  • mfcing
  • 2015年01月23日 18:21
  • 2368

windows和Linux系统使用java keytool工具生成cas单点登录数字证书

Windows数字证书 生成数字证书 1> 进入[%JAVA_HOME%]路径下 cd C:\Program Files (x86)\Java\jdk1.6.0_39\bin2> 生成证书 ke...

在Windows平台下自己生成crt证书

由于一个朋友的网站需要使用HTTPS协议,在配置Apache的使用ssl出错导致Apache无法启动。如果没有现成的crt证书,则可以自己生成crt证书,当然这种自己生成的crt证书也是有局限性的,没...
  • xxss120
  • xxss120
  • 2017年12月09日 13:55
  • 3

Windows上安装OpenSSL和生成证书

1,先下载OpenSSL http://www.slproweb.com/products/Win32OpenSSL.html 2,下载安装Perl http://www.perl.org/ge...
  • bodybo
  • bodybo
  • 2014年06月03日 10:57
  • 8013

在 Azure 中的 Windows 虚拟机上使用 SSL 证书保护 IIS Web 服务器

若要保护 Web 服务器,可以使用安全套接字层 (SSL) 证书来加密 Web 流量。 这些 SSL 证书可存储在 Azure Key Vault 中,并可安全部署到 Azure 中的 Windows...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:windows下使用openssls生成证书
举报原因:
原因补充:

(最多只允许输入30个字)