`

OpenSSL建立自己的CA

 
阅读更多

OpenSSL可以使用在Windows上,也可以在Linux下面使用,这次准备拿Linux开刀,于是找了RedHat 9.0安装,然后安装自带的OpenSSL组件,rpm一下而已,很简单,安装完成之后,就可以开始下面的工作了:

一、先建立OpenSSL的基本环境,为了达到最简单的效果,就不对OpenSSL的配置文件作出任何改动,准备工作如下:

1、在当前所在的目录下(随便什么目录,想在什么目录下开展工作都可以,自己记得就是)建立一个目录  demoCA

2、进入这个目录:cd  demoCA/

3、建立空文件 index.txt 用来保存以后的证书信息,这是OpenSSL的证书数据库:

touch  index.txt

4、建立一个文件 serial 在文件中输入一个数字,做为以后颁发证书的序列号,以后颁发的证书序列号就从你输入的数字开始:

echo 01 > serial

二、准备工作完成后,开始建立我们的CA。

1、首先建立一个CA的根私钥文件,使用RSA格式,1024位:

openssl genrsa -des3 -out ca.key 1024    (这样建立的私钥在建立时需要输入一个密码用来保护私钥文件,私钥文件使用3DES加密)

当然也可以不进行加密,这样不安全,但比较简单:

openssl genrsa -out ca.key 1024    (1024表示建立1024位的私钥,目前来说足够了)

2、利用建立的RSA私钥,为CA自己建立一个自签名的证书文件:

openssl req -new -x509 -days 7300 -key ca.key -out ca.crt    (建立一个可以使用20年的CA根证书,生成证书的过程中需要输入证书的信息,比如国家等)

三、颁发客户的证书:

1、首先生成客户证书的私钥文件,与生成CA根证书文件的方法一样,这里我生成需要密码保护的私钥:

openssl genrsa -des3 -out client.key 1024

2、OpenSSL生成客户端证书的时候,不能直接生成证书,而是必须通过证书请求文件来生成,因此现在我们来建立客户端的证书请求文件,生成的过程中一样要输入客户端的信息:

openssl req -new -key client.key -out client-req.csr

3、有了证书请求文件之后,就可以使用CA的根证书、根私钥来对请求文件进行签名,生成客户端证书 client-key.pem 了:

openssl x509 -req -in client-req.csr -out client.crt -signkey client-key.pem -CA ca.crt -CAkey ca.key -days 365 -CAserial serial

到这里为止,根CA为客户端签发证书的过程就结束了。

四、撤销已签发的证书:

1、吊销已签发的证书可以使用ca中的 -revoke 命令:

openssl ca -revoke client-key.pem -keyfile ca.key -cert ca.crt

这里可能会有一个问题,因为默认的情况下index.txt文件应该放在demoCA文件夹下面,因此需要在这里建立一个demoCA文件夹并建立一个index.txt文件,就可以了

2、证书被吊销之后,还需要发布新的CRL文件:

openssl ca -gencrl  -out ca.crl -keyfile ca.key -cert ca.crt

 

***原文来源***

http://huaiyong198608.blog.163.com/blog/static/34734179201002511642298/?latestBlog

分享到:
评论

相关推荐

    Openssl建立自己CA系统

    本文介绍了数字证书应用相关技术,简单介绍了SSL通信,RSA非对称加密算法,并用一个简单实例介绍了RSA的加密与解密应用,并用openssl建立用户自己的CA系统,包括创建CA的根证书和密钥,给用户签名证书,撤销用户证书...

    openssl 创建ca 签发证书

    openssl创建自己的ca 签发证书 创建多级ca 有具体例子

    使用OpenSSL创建测试CA证书的标准方法

    使用OpenSSL创建测试CA证书的标准方法,OpenSSL,CA,Certificate

    openssl创建ca 公私密钥 证书

    openssl创建ca 多级ca 生成公私密钥对 证书 加密解密 加签验签等命令,有具体例子。

    openssl简单创建CA以及证书

    学习openssl基础必备,简单创建属于自己的CA!

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

    OpenSSL创建生成CA证书、服务器、客户端证书及密钥,配套。https://blog.csdn.net/qq153471503/article/details/109524764

    OPENSSL 要求的所以内容包括安装建立CA等等

    OPENSSL 要下载的也不用我来说了,里面包含一个C#的用例代码。只卖3分超值。

    OpenSSL 建立CA中心

    如何建立CA中心来管理签发证书很重要。这篇笔记给出了简单用例,创建简单的CA中心并签发证书。

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

    使用OpenSSL生成密钥与证书,并进行双向验证

    CA证书生成工具OpenSSL

    提供了建立在普通的通讯层基础上的加密传输层;这些功能为许多网络应用和服务程序所广泛使用。为应用软件提供证书是 OpenSSL 最为常用的功能之一。

    openssl-1.0.0a

    OpenSSL的应用程序提供了相对全面的功能,在相当多的人看来,OpenSSL已经为自己做好了一切,不需要再做更多的开发工作了,所以,他们也把这些应用程序成为OpenSSL的指令。OpenSSL的应用程序主要包括密钥生成、证书...

    用tomcat和openSSL构建https双向认证

    一、创建服务器证书、客户端证书以及CA 1、生成--服务器端--私钥和证书请求 2、生成--客户端-----私钥和证书请求 3、生成CA 4、通过CA签发证书 5、生成pem格式证书 6、生成pkcs12格式证书 二、tomcat实现双向认证 1...

    OPenssl生成证书

    可生成CA.crt等web服务器的加密证书等,方法很详细,适合做实验用。

    openssl编程

    14 2.4 openssl学习方法 16 第三章openssl堆栈 17 3.1 openssl堆栈 17 3.2 数据结构 17 3.3 源码 17 3.4 定义用户自己的堆栈函数 18 3.5 编程示例 19 第四章 openssl哈希表 21 4.1 哈希...

    openssl 编程 当前版本

    3.4 定义用户自己的堆栈函数 18 3.5 编程示例 19 第四章 哈希表 21 4.1 哈希表 21 4.2 哈希表数据结构 21 4.3 函数说明 23 4.4 编程示例 25 第五章 内存分配 27 5.1 openssl内存分配 27 5.2 内存数据结构 27 5.3 ...

    OpenSSL编程(三合一版).zip

    14 2.4 openssl学习方法 16 第三章openssl堆栈 17 3.1 openssl堆栈 17 3.2 数据结构 17 3.3 源码 17 3.4 定义用户自己的堆栈函数 18 3.5 编程示例 19 第四章 openssl哈希表 21 4.1 哈希...

    用OpenSSL编写SSL,TLS程序

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

    openssl生成认证证书的工具

    加压后除了openssl.exe以外,还有一个bat文件,这个可以帮助我们快速创建证书申请文件。 运行autocsr.bat,按照提示输入信息,之后按任意键确认。你会得到两个文件,一个server.key,这是私钥文件,还有一个名为...

    HowToCreateSelfSignviaOpenSSL:如何使用openssl创建自签名

    创建您自己的私有证书颁发机构所需的只是OpenSSL。 创建自己的证书颁发机构的过程非常简单: 创建一个私钥 自签名 在各个工作站上安装根CA,然后,通过HTTPS管理的每个设备只需通过以下步骤创建自己的证书即可: ...

Global site tag (gtag.js) - Google Analytics