软件准备: http://www.openssl.org/related/binaries.html 在这里可以下载到windows版本的,当前版本
v0.9.8g
也许很多人和本人一样深有体会,使用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.key
2.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 1024
openssl req -new -key client.key -out client.csr -config openssl.cnf
4.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.cnf
5.用生成的CA的证书为刚才生成的server.csr,client.csr文件签名:
Openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
Openssl ca -in client.csr -out client.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
现在我们所需的全部文件便生成了.
另:
client使用的文件有:ca.crt,client.crt,client.key
server使用的文件有:ca.crt,server.crt,server.key
.crt文件和.key可以合到一个文件里面,本人把2个文件合成了一个.pem文件(直接拷贝过去就行了) (openssl新的版本已经放到demoCA/newcerts目录下了)
星之魄发表于 2005年06月11日 17:52:00
原文 : http://blog.csdn.net/darkstar21cn/archive/2005/06/11/392492.aspx
分享到:
相关推荐
**OpenSSL生成的ssl证书** 在互联网安全领域,SSL(Secure Socket Layer)证书是保障网站数据传输安全的重要工具。OpenSSL是一个开源的库,包含了各种加密算法,它提供了生成SSL证书的功能。本教程将详细介绍如何...
下面我们将详细介绍如何使用OpenSSL来生成证书,以及相关的证书转换操作。 一、OpenSSL编译与安装 在Windows环境下编译OpenSSL通常需要以下步骤: 1. 从官方网站下载OpenSSL源代码,例如openssl-1.0.1g版本。 2. ...
2. 生成CA的证书(crt):使用OpenSSL的req命令可以生成CA的证书文件。命令格式如下: ``` openssl req -new -x509 -key server.key -out ca.crt -days 3650 ``` 执行上述命令后,系统会要求输入国家、地区、...
最近放开了https服务,安全组扫描出新的漏洞,现对原OpenSSL 1.0.1g版本升级到OpenSSL 1.1.0k,同时重新编译OpenSSH及nginx,在此提供升级脚本,仅供参考
3. **openssl-devel**:这个包包含了OpenSSL库的开发文件,OpenSSL是一个开源的加密库,包含各种安全协议,如SSL/TLS以及用于加密数据的算法。在nginx中,OpenSSL用于处理HTTPS连接,提供安全的加密通信,确保用户...
首先,我们将学习openSSL的基本概念和命令,然后逐步生成服务器端和客户端的证书文件,并介绍如何使用CA证书签名这些证书文件。最后,我们将介绍如何在Tomcat上配置这些证书文件。 openSSL简介 openSSL是一个开源的...
3. **OpenSSL**:OpenSSL是一个开放源码的库,提供了一系列强大的加密算法,用于实现安全套接层(SSL)和传输层安全(TLS)协议。openssl-devel是其开发版本,包含头文件和库文件,使得开发人员可以在自己的应用程序中...
"openSSL生成证书以及在tomcat下的配置" openSSL是目前最流行的开源加密库之一,它提供了安全的数据传输和认证机制。在Web应用程序中,openSSL广泛应用于生成数字证书和私钥,从而确保数据的安全传输。今天,我们将...
使用 `openssl req` 命令来生成证书请求,然后用 `openssl x509` 命令签发证书: ```shell # 创建证书请求 openssl req -new -key ca.key -out ca.csr # 自签名CA证书 openssl x509 -req -days 3650 -in ca.csr -...
使用OpenSSL生成服务器证书,首先需要生成服务器私钥,然后创建CSR,最后用CA证书签署这个CSR。一键生成Server证书的功能可以极大地节省时间,减少错误。 3. **Client证书**:客户端证书则用于验证客户端的身份,常...
完整vs项目,包含项目完整配置... 如果是动态库会生成lib与dll两个文件,lib是编译链接时用,dll是运行时用,确保dll文件的名字与对应def文件中定义的dll文件名一致 内含openssl-1.1.1y源码,已配置好,下载即可编译
本文将详细介绍如何使用openssl工具生成单向SSL证书,以及如何将其应用于基于Boost.Asio库的SSL通讯测试。 首先,让我们了解什么是单向SSL认证。在单向SSL认证中,服务器验证其身份给客户端,但客户端无需向服务器...
根据提供的文档信息,本文将详细解释如何通过OpenSSL生成安全证书并在WebLogic环境中进行SSL配置与验证的过程。本文档分为几个部分:安装OpenSSL、创建证书、WebLogic环境的SSL配置,以及HTTPS验证。 ### 一、安装...
- 自签发证书:使用`openssl x509`命令,使用之前生成的私钥对证书请求进行签名,生成自签名的SSL证书。 - 安装证书:将生成的证书安装到本地的信任存储或服务器上。 4. 测试环境的应用: 在本地开发和测试环境...
在这个过程中,我们通常会使用OpenSSL命令行工具,然后通过Java程序来调用这些系统命令。下面将详细讲解这个过程以及涉及的相关知识点。 首先,OpenSSL是一个强大的安全套接层(SSL)和传输层安全(TLS)协议实现...
在IT领域,OpenSSL 被广泛用于处理数字证书,包括解析、生成和管理各种类型的证书文件。P12格式,也称为PKCS#12,是一种常用的存储私钥和公钥证书的标准格式,常用于个人身份验证、服务器证书等场景。 在“OpenSSL ...
- "openssl-0.9.8a"是指OpenSSL库的版本,OpenSSL是一个用于安全套接层(SSL/TLS)协议的加密库,提供加密算法、证书管理和密钥管理等功能。 3. **Windows安装**: 压缩包内的"openldap-2.2.29-db-4.3.29-openssl...
同时,要确保正确配置OpenSSL模块以启用HTTPS支持,这通常涉及到编辑ssl.conf文件并生成SSL证书。 为了保证服务器的安全性,用户还需要关注Apache和OpenSSL的更新,因为这两个项目经常发布新的版本来修复安全漏洞。...