也许很多人和本人一样深有体会,使用OpenSSL库写一个加密通讯过程,代码很容易就写出来了,可是整个工作却花了了好几天。除将程序编译成功外(没有可以使用的证书文件,编译成功了,它并不能跑起来,并不表示它能正常使用,所以......),还需生成必要的证书和私钥文件使双方能够成功验证对方。找了n多的资料,很多是说的很模糊,看了n多的英文资料,还是没有办法(不知道是不是外国朋友都比较厉害,不用说明得太清?),无意间找到yawl (yawl@nsfocus.com)写的文章,难得的汉字(呵呵)。里面有生成证书部分,说到生成了 Certificate Signing Request (CSR)文件后,就有点不太清楚了。后面生成自签字证书在很多地方都可以找到的,签名这部分,yawl说mod_ssl有比较好的脚本,但是笔者一时找不到,就自己用openssl的ca命令来完成了,也不是很麻烦。说说本人的操作环境:无盘工作站(有权限问题使用起来不太方便),操作目录是openssl/bin(没办法改不了环境变量,如果你可以改的话,就不用在这个目录下工作了),为了方便本人把apps下的openssl.cnf也复制到了这个目录下来。文件名都是以本人使用的来说了:1.首先要生成服务器端的私钥(key文件):openssl genrsa -des3 -out server.key 1024运行时会提示输入密码,此密码用于加密key文件(参数des3便是指加密算法,当然也可以选用其他你认为安全的算法.),以后每当需读取此文件(通过openssl提供的命令或API)都需输入口令.如果觉得不方便,也可以去除这个口令,但一定要采取其他的保护措施!去除key文件口令的命令:openssl rsa -in server.key -out server.key2.openssl req -new -key server.key -out server.csr -config openssl.cnf生成Certificate Signing Request(CSR),生成的csr文件交给CA签名后形成服务端自己的证书.屏幕上将有提示,依照其指示一步一步输入要求的个人信息即可.3.对客户端也作同样的命令生成key及csr文件:openssl genrsa -des3 -out client.key 1024openssl req -new -key client.key -out client.csr -config openssl.cnf4.CSR文件必须有CA的签名才可形成证书.可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢. 1)在bin目录下新建目录 demoCA、demoCA/certs、demoCA/certs 、 demoCA/newcerts 2) 在demoCA建立一个空文件 index.txt 3) 在demoCA建立一个文本文件 serial, 没有扩展名,内容是一个合法的16进制数字,例如 0000 4) openssl req -new -x509 -keyout ca.key -out ca.crt -config openssl.cnf5.用生成的CA的证书为刚才生成的server.csr,client.csr文件签名:Openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnfOpenssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl.cnf现在我们所需的全部文件便生成了.另:client使用的文件有:ca.crt,client.crt,client.keyserver使用的文件有:ca.crt,server.crt,server.key.crt文件和.key可以合到一个文件里面,本人把2个文件合成了一个.pem文件(直接拷贝过去就行了) (openssl新的版本已经放到demoCA/newcerts目录下了)
其他:psck8
C:\>openssl genrsa -out privateKey.pem 1024
Loading 'screen' into random state - done
Generating RSA private key, 1024 bit long modulus
...................++++++
....................++++++
e is 65537 (0x10001)
C:\>openssl rsa -in privateKey.pem -out publicKey.key -pubout -outform der
writing RSA key
C:\>openssl pkcs8 -in privateKey.pem -out privateKey.p8 -outform der -nocrypt -topk8
原文 : http://blog.csdn.net/darkstar21cn/archive/2005/06/11/392492.aspx
分享到:
相关推荐
通过OpenSSL生成的ssl证书,用于windows下用nginx配置https服务器( OpenSSL创建证书) 无需再下载OpenSSL,配置OpenSSL相关环境,在进行命令生成证书
使用openssl生成证书,有详细的步骤说明,亲测可用。还有一些关于证书的一些常用转换操作介绍
gcc pcre-devel openssl-devel zlib-devel离线包,用于安装nginx的fastdfs-nginx-module-master模块
最近放开了https服务,安全组扫描出新的漏洞,现对原OpenSSL 1.0.1g版本升级到OpenSSL 1.1.0k,同时重新编译OpenSSH及nginx,在此提供升级脚本,仅供参考
gcc pcre-devel openssl-devel zlib-devel离线包 centos 7.2.1511
curl-ssl-ssh curl7.43.0编译完成文件 DLL Release - DLL OpenSSL - DLL LibSSH2
完整vs项目,包含项目完整配置... 如果是动态库会生成lib与dll两个文件,lib是编译链接时用,dll是运行时用,确保dll文件的名字与对应def文件中定义的dll文件名一致 内含openssl-1.1.1y源码,已配置好,下载即可编译
NULL 博文链接:https://nassir.iteye.com/blog/1983613
超全详细的linux rpm 安装包,内含gcc pcre-devel zlib-devel openssl openssl-devel),离线轻松部署应用,再也不用担心没网了。centos 7.5 亲测有效,安上此包,轻松安上 nginx ,redis,等,无需服务器联网
openldap-2.2.29-db-4.3.29-openssl 不为积分只为没有积分的哥们少作难,另有陪有强大的LdapAdmin.exe, 比较Softerra LDAP Browser 2.5强百倍。没有积分下个资源到处奔波飘荡,省去你的时间,亲人。 LdapAdmin.exe ...
使用openssl生成单向ssl证书,此方法生成的证书可以用于基于boost.asio库的SSL通讯测试中。基于基于boost.asio库SSL通讯测试程序可参见本人其他资源。
1.离线安装gcc pcre-devel openssl-devel zlib-devel 下载路径 http://mirrors.163.com/centos/7.4.1708/os/x86_64/Packages/ autogen-libopts-5.18-5.el7.x86_64.rpm cpp-4.8.5-16.el7.x86_64.rpm gcc-4.8.5-16....
Apache服务器msi版的安装 apache_2.4.23-x64-openssl-1.0.2hapache_2.4.23-x64-openssl-1.0.2hapache_2.4.23-x64-openssl-1.0.2hapache_2.4.23-x64-openssl-1.0.2h
apache_2.2.8-win32-x86-openssl-0.9.8g.msi安装方便快捷
httpd-2.2.25-win32-x86-openssl-0.9.8y.msi
openldap-2.2.29 windows安装包(免密钥),openldap-2.2.29-db-4.3.29-openssl-0.9.8a-win32_Setup.exe
OpenSSL 证书生成器 可用于apache的ssl证书生成
apache + svn 服务器搭建 包含apache安装包,和svn安装包 apache_2.2.11-win32-x86-openssl-0.9.8i.msi svn-win32-1.5.4
ActivePerl-----Openssl安装所需依赖,直接点击下一步安装,安装完一定要重启!!!重启!!!