`
starbhhc
  • 浏览: 632726 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

Windows上安装OpenSSL和生成证书

    博客分类:
  • java
 
阅读更多

1,先下载OpenSSL

http://www.slproweb.com/products/Win32OpenSSL.html 

2,下载安装Perl

http://www.perl.org/get.html

 

下载 ActiveState Perl external link

 第一种

OpenSSL加密证书一般用于签名认证,含私钥和公钥。在Linux系统中,OpenSSL一般是已经安装好了,可以直接使用。而在Windows系统中,是需要安装使用的。

1.在确认安装成功以后,以管理员身份运行cmd。

 

2.跳转到OpenSSL安装目录下的bin文件目录,cmd:cd ~:\OpenSSL-Win64\bin(一般路径在C盘)

3.生成采用des3算法保护的私钥,cmd:openssl genrsa -des3 -out private-rsa.key 1024

4.此时输入用来保护私钥文件的密码,建议输入大于6位数的密码。注意:此处的密码需要在生成公钥时使用

5.生成公钥,cmd:openssl req -new -x509 -key private-rsa.key -days 750 -out public-rsa.cer

6.在生成公钥的过程中需要输入刚刚生成私钥时的密码,其他步骤都可直接回城忽略,不影响正常使用。

7.生成PKCS12 格式Keystore,cmd:openssl pkcs12 -export -name test-alias -in public-rsa.cer -inkey private-rsa.key -out user-rsa.pfx

8.此时,已成功生成私钥证书与公钥证书了,可在安装时选择的生成存放路径中查找到。

 

 

第二种:

一,建立CA
1,建立一个工作目录SSL
mkdir SSL
cd SSL
2,用CA脚本自动建立一个CA
CA.pl -newca
这样就在demoCA目录下建立了一个CA
demoCA/private/cakey.pem是CA根证书的私钥
demoCA/cacert.pem是CA的根证书文件,需要导入到服务器和浏览器里面
二,签名服务器证书
1,生成服务器证书私钥
openssl genrsa -des3 -out server.key 1024
1,生成服务器证书请求
openssl req -new -key server.key -out server.csr

其中Common Name是必填项,填写域名或IP地址
2,用CA签名服务器证书
openssl ca -in server.csr -out server.cer
3,把证书转换成X509格式,用于IIS(可选)
openssl x509 -in server.cer -out myserver.cer
myserver.cer就是服务器证书,可导入到IIS
4,合并私钥和证书用于lighttpd
copy /b /y server.key+server.cer myserver.pem

copy /b /y server.key+myserver.cer myserver.pem
三,签名客户端证书
1,生成客户端私钥
openssl genrsa -des3 -out client.key 1024
2,生成客户端证书请求
openssl req -new -key client.key -out client.csr
3,用CA签名客户端证书
openssl ca -in client.csr -out client.cer
4,把证书格式转换成pkcs12格式
openssl pkcs12 -export -clcerts -in client.cer -inkey client.key -out client.pfx
四,安装证书
1,lighttpd设置安装
安装myserver.pem,cacert.pem
lighttpd.conf
ssl.engine               = "enable"
ssl.pemfile              = "/etc/ssl/myserver.pem"
ssl.ca-file             = "/etc/ssl/cacert.pem"
lighttpd启动的时候会要求输入密码,要求输入密语的原因是server.cer文件中的RSA私钥是出于安全考虑
而被加密存储的,而密语就是用来解密私钥的。解除密语的保护就剥去了一层安全保护,所以做这个操作
的时候请三思而后行!

首先备份原始RSA私钥文件,然后再去除RSA私钥文件上的密语保护:
copy server.key server.key.old
openssl rsa -in server.key.old -out server.key
copy /b /y server.key+server.cer myserver.pem

2,客户端安装
demoCA/cacert.pem改名为cacert.cer,安装到信任的机构
client.pfx直接在windows安装或安装到您的证书位置

 

 注:

利用openssl生成证书的时候,很多朋友都在网上问怎么应对 "/usr/local/ssl/openssl.cnf"的报错?!

 

假如你在linux系统中,那么直接到openssl安装目录的apps目录下,把openssl.conf拷贝到/usr/local/ssl/目录下就可以了。但是你如果在windows系统中可就不行了,因为windows系统中没有/usr/local/ssl/ 这样的目录,那咋办啊?

 

别急,今天yxyhack就是来给您解决这个事的。

 

在windows系统中方法也很简单,您只需要在系统环境变量中添加一个叫“OPENSSL_CONF”的变量,然后将它的值设置为你openssl安装目录中d:/openssl.cnf文件的绝对路径就可以了。

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics