`

SSL-用OpenSSL命令行生成证书文件

    博客分类:
  • Java
阅读更多

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­

分享到:
评论

相关推荐

    用openssl命令制作生成证书和自签名

    使用 OpenSSL 命令可以生成证书和自签名,以下是相关知识点的总结: 一、预安装准备 在开始使用 OpenSSL 之前,需要安装相关的软件和工具。首先,需要安装 Visual Studio 2005,因为 OpenSSL 的编译需要使用 VC++ ...

    openssl生成认证证书的工具

    最简单的方法,直接用java里的keytool工具生成一个keystore文件,然后直接用这个文件启用https就可以了。 方法如下: 命令行执行%JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA 执行过程中会询问你一些...

    OPENSSL密码计算/证书操作/SSL通信

    2、生成证书,在写这个源码之前,不仅仅是易语言届,包括绝大多数需要自签名证书的,都是调用openssl的命令行,全局操作,想要调用API动态申请证书,签署证书的,源码在百度上基本找不到,要翻出去找谷歌,所以我...

    用OpenSSL编写SSL,TLS程序

    其命令行提供了丰富的加密,验证,证书生成等功能,甚至可以用其建立一个完整的CA. 与其同时,它也提供了一套完整的库函数,可用开发用SSL/TLS的通信程序. Apache的https两种版本,mod_ssl和apachessl均基于它实现的...

    ssl-builder:使用CA制作SSL证书以进行开发

    SSL生成器 创建证书颁发机构,密钥和证书的命令行脚本。 这是基于Jamie Nguyen的《 指南的。 安装 克隆此仓库。 然后运行npm install来安装依赖项。 $ npm install 选项 简称 长名 描述 必需的 -r --root-dir ...

    OPENSSL密码计算/证书操作/SSL通信-易语言

    2、生成证书,在写这个源码之前,不仅仅是 易语言 届,包括绝大多数需要自签名证书的,都是调用openssl的命令行,全局操作,想要调用API动态申请证书,签署证书的,源码在百度上基本找不到,要翻出去找谷歌,所以我...

    Apache SSL服务器配置SSL详解

    1.安装必要的软件 引用 我用的是apahce2.0.61版,可以直接官方提供的绑定openssl的apache... 生成服务器用的私钥文件server.key 进入conf目录,执行命令行 openssl genrsa -out server.key 1024 有文档指出使用 openssl

    使用iceca定制IceSSL程序使用的证书.doc

    iceca 是一个命令行工具,用于生成证书和密钥对。 首先,需要安装 Python 2.7.3 版本,因为 iceca 工具依赖 Python 环境。然后,需要将 Python 添加到系统路径中。接下来,打开 Windows 命令行界面,切换到 Ice 的...

    openssl生成器.rar

    绿色版 速度快 免安装,免去复杂的window安装步骤,直接运行,命令行快速生成*.key,*.csr,*.crt等文件,亲测绝对好用

    gocert::locked:生成无痛的自签名TLSSSL证书!

    一个轻量级的库以及命令行界面,用于使用纯go生成自签名的SSL / TLS证书。 安装 brew install moorara/brew/gocert 对于其他平台,您可以从下载二进制文件。 快速开始 mkdir certs cd certs gocert init gocert ...

    certgen:一步生成自签名证书

    塞尔根 使用随机密码生成自签名证书的脚本,用于快速启动测试服务器。 出于莫名其妙的原因,安全界... 此脚本只需一步生成自签名密钥和证书文件,并在命令行上传递域。 需要 、OpenSSL 和/tmp预先存在的临时文件夹。

    基于OpenSSL的安全聊天系统

    openssl 的强大功能,其内部包含了大量加密算法程序.其命令行提供了丰富的加密,验证,证书生成等功能,甚至可以用其建立一个完整的CA.与其同时,它也提供了一套完整的库函数,可用开发用SSL/TLS的通信程序.

    libtls-echo-server:使用来自LibreSSL的新libtls的简单Echo Server

    创建ssl证书/密钥为了使用Echo Server,您必须具有证书和密钥。 如果您已经可以使用它进行测试,请跳至安装部分。检查您的openssl版本LibreSSL保留命令行openssl工具。 joseph@glock:~/Downloads/libtls-echo-server...

    csrgenerator.com:Flask micro-webapp生成证书签名请求

    这是一个非常简单的Flask网络应用,可生成用于创建SSL证书的证书签名请求。 当然,您可以通过命令行使用OpenSSL进行操作,但是并不是每个人都像您一样聪明。 使用Docker运行 $ docker run -d -p 8080:80 --name ...

    FlashFXP(免注册)

    • 添加了 -approvessl 命令行参数,用于自动允许接受 SSL 证书。请谨慎使用 • 添加了 MLSD 支持 (机器格式目录列表) • 添加了 自动/ANSI/UTF8 (iso-8859-1/Latin-1) 编码支持 • 添加了当把服务器地址粘贴到代理...

    php网络开发完全手册

    7.5.7 用正则表达式进行字符串分割 7.5.7 ——preg_split 115 7.6 字符操作的注意事项 117 7.7 小结 118 第8章 数组操作与数据结构算法 119 8.1 一维数组与多维数组 119 8.1.1 一维数组简介 119 8.1.2 多维数组简介 ...

Global site tag (gtag.js) - Google Analytics