`

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 证书服务器客户端证书及密钥

    总结来说,OpenSSL 提供了生成和管理SSL证书的全套工具,通过创建CA证书、服务器证书和客户端证书,我们可以实现SSL单向认证和双向认证,从而确保网络通信的安全。理解并熟练运用这些命令,对于任何需要处理加密通信...

    Openssl建立自己CA系统

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

    数字证书实战经验-Openssl自建CA中心及签发证书

    本实战经验主要关注如何使用OpenSSL这一开源库来建立自己的证书颁发机构(CA)中心,并签发不同级别的证书。 首先,让我们详细解释一下这个过程。`root-ca.cnf`、`intermediate-ca.cnf`和`index.cnf`是配置文件,...

    用openssl软件包生成CA

    ### 使用OpenSSL软件包生成证书颁发机构(CA) 在网络安全领域中,证书颁发机构(Certificate Authority,简称CA)扮演着非常重要的角色。它不仅能够验证并确保数字证书的有效性,还能帮助用户建立对网络通信的信任。...

    openssl 创建ca 签发证书

    在IT行业中,安全通信是...文档“openssl创建CA.docx”应该提供了更详细的操作指南和例子,建议仔细阅读,以便更好地理解和应用这些概念。通过自建CA,你可以在保证网络安全的同时,更加灵活地管理和控制证书生命周期。

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

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

    利用openssl自制CA证书

    创建CA证书的步骤如下: 1. **生成私钥**:首先,我们需要一个私钥来签署证书。在命令行中输入以下命令,生成一个名为`ca.key`的私钥: ``` openssl genpkey -algorithm RSA -out ca.key -pkeyopt rsa_keygen_bits:...

    openssl简单创建CA以及证书

    ### OpenSSL 创建CA及证书详解 #### 一、OpenSSL简介 OpenSSL是一个强大的安全套接层密码库,它包含了SSLv3、TLSv1、TLSv1.1、TLSv1.2、TLSv1.3协议的支持,并且还包含了常用的密码算法、随机数生成器等。在本篇...

    openssl创建ca 公私密钥 证书

    本教程将详细讲解如何使用OpenSSL创建CA、生成公私密钥对以及证书,以及如何进行加密解密、加签验签操作。 首先,让我们了解基本概念: 1. **CA(证书颁发机构)**:它是可信的第三方机构,负责验证并签发数字证书...

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

    "OPENSSL 要求的所以内容包括安装建立CA等等" 这个标题表明我们要讨论的是关于OpenSSL的相关知识,主要聚焦在安装OpenSSL以及创建证书权威机构(CA)的过程。OpenSSL是一个强大的安全套接字层密码库,包含了各种主要...

    OpenSSL 建立CA中心

    本文将详细介绍如何使用OpenSSL建立一个认证中心(CA中心)来管理和签发证书。 首先,认证中心(CA)是负责验证和签署数字证书的实体,这些证书用于确保网络通信的安全。在实验环境中,我们有三台机器:CA中心...

    CA证书生成工具OpenSSL

    OpenSSL可以生成CA证书,这对于企业或个人搭建自己的内部PKI系统至关重要。以下是一些使用OpenSSL生成CA证书的步骤和相关知识点: 1. **生成私钥**:首先,你需要使用OpenSSL生成一个私钥,这是所有证书的核心。...

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

    创建CA证书的步骤如下: 1. **生成CA私钥**: 使用`openssl genpkey`命令生成一个RSA私钥,例如: ``` openssl genpkey -algorithm RSA -out ca.key ``` 2. **创建CA证书请求**: 使用`openssl req`命令创建...

    openssl生成的多级CAdemo

    在IT行业中,加密和安全是至关重要的领域,而...总的来说,OpenSSL生成的多级CA演示了如何在安全的环境中建立一个复杂的证书签发系统。了解并正确实施这种结构对于任何涉及网络证书管理的IT专业人员都是至关重要的。

    openssl 生成ca证书 pkcs12 pem格式转换

    例如,使用 CA 的 RSA 密钥创建一个自签署的 CA 证书(X.509 结构)的命令:openssl req -new -x509 -days 3650 -key server.key -out ca.crt 在实际应用中,OpenSSL 工具箱提供了非常多的命令和选项,用于处理证书...

    利用openssl生成CA证书的方法及证书

    OpenSSL是一个强大的安全套接层(SSL/TLS)和传输层安全(TLS)协议库,它不仅支持各种加密算法,还能用于创建数字证书,包括自签名的根证书权威机构(CA)证书。本文将详细阐述如何利用OpenSSL生成CA证书以及相关的...

    OpensslCA学习笔记

    OpenSSLCA是一个用于创建和管理证书颁发机构(CA)的工具,它在网络安全中扮演着重要角色,特别是在数字证书的签发和验证过程中。通过OpenSSLCA,我们可以构建自己的证书基础设施,这对于测试环境或者内部网络的安全...

    Linux平台openssl工具生成CA证书的命令 配置文件 证书

    在IT领域,尤其是在网络...通过理解这些基本概念和操作步骤,你将能够使用OpenSSL在Linux平台上创建自己的CA证书,为服务器和客户端提供安全的通信环境。这对于在本地网络或测试环境中模拟真实世界的安全场景非常有用。

    Linux下使用openssl制作CA及证书颁发[参考].pdf

    Linux 下使用 OpenSSL 制作 CA 及证书颁发是指使用 OpenSSL 工具在 Linux 平台上创建一个证书颁发机构(CA),并颁发数字证书。CA 是一个trusted第三方机构,它负责颁发和管理数字证书,以确保网络通信的安全。 ...

    基于OpenSSL的PKI环境设计(CA模块)

    OpenSSL提供了创建和管理CA的工具,包括生成根CA证书、中级CA证书、以及用户证书等。这些工具如`openssl req`用于创建证书请求,`openssl x509`用于签发和处理证书,`openssl ca`则是用于管理CA的命令行工具。 3. ...

Global site tag (gtag.js) - Google Analytics