`
zhouzhk
  • 浏览: 94736 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

SSL-用OpenSSL命令行生成证书文件---来自CSDN,稍微增补了一下

阅读更多
    
 

   软件准备: 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 
分享到:
评论
1 楼 niko7 2010-07-16  
谢谢分享。终于试成功了!

相关推荐

    OpenSSL生成的ssl证书

    **OpenSSL生成的ssl证书** 在互联网安全领域,SSL(Secure Socket Layer)证书是保障网站数据传输安全的重要工具。OpenSSL是一个开源的库,包含了各种加密算法,它提供了生成SSL证书的功能。本教程将详细介绍如何...

    openssl生成证书

    下面我们将详细介绍如何使用OpenSSL来生成证书,以及相关的证书转换操作。 一、OpenSSL编译与安装 在Windows环境下编译OpenSSL通常需要以下步骤: 1. 从官方网站下载OpenSSL源代码,例如openssl-1.0.1g版本。 2. ...

    免费openssl 生成ssl证书[ssl证书生成]

    2. 生成CA的证书(crt):使用OpenSSL的req命令可以生成CA的证书文件。命令格式如下: ``` openssl req -new -x509 -key server.key -out ca.crt -days 3650 ``` 执行上述命令后,系统会要求输入国家、地区、...

    解决OpenSSL "SSL-Death-Alert" 拒绝服务漏洞(CVE-2016-8610)安全漏洞,升级OpenSSL到OpenSSL 1.1.0k

    最近放开了https服务,安全组扫描出新的漏洞,现对原OpenSSL 1.0.1g版本升级到OpenSSL 1.1.0k,同时重新编译OpenSSH及nginx,在此提供升级脚本,仅供参考

    gcc pcre-devel openssl-devel zlib-devel离线包

    3. **openssl-devel**:这个包包含了OpenSSL库的开发文件,OpenSSL是一个开源的加密库,包含各种安全协议,如SSL/TLS以及用于加密数据的算法。在nginx中,OpenSSL用于处理HTTPS连接,提供安全的加密通信,确保用户...

    openSSL制作证书并在tomcat上配置

    首先,我们将学习openSSL的基本概念和命令,然后逐步生成服务器端和客户端的证书文件,并介绍如何使用CA证书签名这些证书文件。最后,我们将介绍如何在Tomcat上配置这些证书文件。 openSSL简介 openSSL是一个开源的...

    gcc pcre-devel openssl-devel zlib-devel离线包 centos 7.2.1511

    3. **OpenSSL**:OpenSSL是一个开放源码的库,提供了一系列强大的加密算法,用于实现安全套接层(SSL)和传输层安全(TLS)协议。openssl-devel是其开发版本,包含头文件和库文件,使得开发人员可以在自己的应用程序中...

    openSSL生成证书以及在tomcat下的配置

    "openSSL生成证书以及在tomcat下的配置" openSSL是目前最流行的开源加密库之一,它提供了安全的数据传输和认证机制。在Web应用程序中,openSSL广泛应用于生成数字证书和私钥,从而确保数据的安全传输。今天,我们将...

    使用 OpenSSL 创建生成CA 证书服务器客户端证书及密钥

    使用 `openssl req` 命令来生成证书请求,然后用 `openssl x509` 命令签发证书: ```shell # 创建证书请求 openssl req -new -key ca.key -out ca.csr # 自签名CA证书 openssl x509 -req -days 3650 -in ca.csr -...

    OpenSSL 一键生成证书

    使用OpenSSL生成服务器证书,首先需要生成服务器私钥,然后创建CSR,最后用CA证书签署这个CSR。一键生成Server证书的功能可以极大地节省时间,减少错误。 3. **Client证书**:客户端证书则用于验证客户端的身份,常...

    vs2015编译最新openssl-1.1.1 非命令行nmake 可轻松编译出动态链接库与静态链接库 包含完整项目配置文件 里面有详细项目说明 适合学习修改

    完整vs项目,包含项目完整配置... 如果是动态库会生成lib与dll两个文件,lib是编译链接时用,dll是运行时用,确保dll文件的名字与对应def文件中定义的dll文件名一致 内含openssl-1.1.1y源码,已配置好,下载即可编译

    使用openssl生成单向ssl证书

    本文将详细介绍如何使用openssl工具生成单向SSL证书,以及如何将其应用于基于Boost.Asio库的SSL通讯测试。 首先,让我们了解什么是单向SSL认证。在单向SSL认证中,服务器验证其身份给客户端,但客户端无需向服务器...

    weblogic+OPENSSL+生成证书的SSL详细配置手册

    根据提供的文档信息,本文将详细解释如何通过OpenSSL生成安全证书并在WebLogic环境中进行SSL配置与验证的过程。本文档分为几个部分:安装OpenSSL、创建证书、WebLogic环境的SSL配置,以及HTTPS验证。 ### 一、安装...

    本地ssl证书生成工具

    - 自签发证书:使用`openssl x509`命令,使用之前生成的私钥对证书请求进行签名,生成自签名的SSL证书。 - 安装证书:将生成的证书安装到本地的信任存储或服务器上。 4. 测试环境的应用: 在本地开发和测试环境...

    java调用openssl生成证书

    在这个过程中,我们通常会使用OpenSSL命令行工具,然后通过Java程序来调用这些系统命令。下面将详细讲解这个过程以及涉及的相关知识点。 首先,OpenSSL是一个强大的安全套接层(SSL)和传输层安全(TLS)协议实现...

    OpenSSL 解析P12格式证书文件

    在IT领域,OpenSSL 被广泛用于处理数字证书,包括解析、生成和管理各种类型的证书文件。P12格式,也称为PKCS#12,是一种常用的存储私钥和公钥证书的标准格式,常用于个人身份验证、服务器证书等场景。 在“OpenSSL ...

    openldap-2.2.29-db-4.3.29-openssl-0.9.8a-win32_Setup.7z

    - "openssl-0.9.8a"是指OpenSSL库的版本,OpenSSL是一个用于安全套接层(SSL/TLS)协议的加密库,提供加密算法、证书管理和密钥管理等功能。 3. **Windows安装**: 压缩包内的"openldap-2.2.29-db-4.3.29-openssl...

    apache_2.2.11-win32-x86-openssl-0.9.8i_gpxz

    同时,要确保正确配置OpenSSL模块以启用HTTPS支持,这通常涉及到编辑ssl.conf文件并生成SSL证书。 为了保证服务器的安全性,用户还需要关注Apache和OpenSSL的更新,因为这两个项目经常发布新的版本来修复安全漏洞。...

Global site tag (gtag.js) - Google Analytics