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 提供了生成和管理SSL证书的全套工具,通过创建CA证书、服务器证书和客户端证书,我们可以实现SSL单向认证和双向认证,从而确保网络通信的安全。理解并熟练运用这些命令,对于任何需要处理加密通信...
本文介绍了数字证书应用相关技术,简单介绍了SSL通信,RSA非对称加密算法,并用一个简单实例介绍了RSA的加密与解密应用,并用openssl建立用户自己的CA系统,包括创建CA的根证书和密钥,给用户签名证书,撤销用户证书...
本实战经验主要关注如何使用OpenSSL这一开源库来建立自己的证书颁发机构(CA)中心,并签发不同级别的证书。 首先,让我们详细解释一下这个过程。`root-ca.cnf`、`intermediate-ca.cnf`和`index.cnf`是配置文件,...
### 使用OpenSSL软件包生成证书颁发机构(CA) 在网络安全领域中,证书颁发机构(Certificate Authority,简称CA)扮演着非常重要的角色。它不仅能够验证并确保数字证书的有效性,还能帮助用户建立对网络通信的信任。...
在IT行业中,安全通信是...文档“openssl创建CA.docx”应该提供了更详细的操作指南和例子,建议仔细阅读,以便更好地理解和应用这些概念。通过自建CA,你可以在保证网络安全的同时,更加灵活地管理和控制证书生命周期。
使用OpenSSL创建测试CA证书的标准方法,OpenSSL,CA,Certificate
创建CA证书的步骤如下: 1. **生成私钥**:首先,我们需要一个私钥来签署证书。在命令行中输入以下命令,生成一个名为`ca.key`的私钥: ``` openssl genpkey -algorithm RSA -out ca.key -pkeyopt rsa_keygen_bits:...
### OpenSSL 创建CA及证书详解 #### 一、OpenSSL简介 OpenSSL是一个强大的安全套接层密码库,它包含了SSLv3、TLSv1、TLSv1.1、TLSv1.2、TLSv1.3协议的支持,并且还包含了常用的密码算法、随机数生成器等。在本篇...
本教程将详细讲解如何使用OpenSSL创建CA、生成公私密钥对以及证书,以及如何进行加密解密、加签验签操作。 首先,让我们了解基本概念: 1. **CA(证书颁发机构)**:它是可信的第三方机构,负责验证并签发数字证书...
"OPENSSL 要求的所以内容包括安装建立CA等等" 这个标题表明我们要讨论的是关于OpenSSL的相关知识,主要聚焦在安装OpenSSL以及创建证书权威机构(CA)的过程。OpenSSL是一个强大的安全套接字层密码库,包含了各种主要...
本文将详细介绍如何使用OpenSSL建立一个认证中心(CA中心)来管理和签发证书。 首先,认证中心(CA)是负责验证和签署数字证书的实体,这些证书用于确保网络通信的安全。在实验环境中,我们有三台机器:CA中心...
OpenSSL可以生成CA证书,这对于企业或个人搭建自己的内部PKI系统至关重要。以下是一些使用OpenSSL生成CA证书的步骤和相关知识点: 1. **生成私钥**:首先,你需要使用OpenSSL生成一个私钥,这是所有证书的核心。...
创建CA证书的步骤如下: 1. **生成CA私钥**: 使用`openssl genpkey`命令生成一个RSA私钥,例如: ``` openssl genpkey -algorithm RSA -out ca.key ``` 2. **创建CA证书请求**: 使用`openssl req`命令创建...
在IT行业中,加密和安全是至关重要的领域,而...总的来说,OpenSSL生成的多级CA演示了如何在安全的环境中建立一个复杂的证书签发系统。了解并正确实施这种结构对于任何涉及网络证书管理的IT专业人员都是至关重要的。
OpenSSL是一个强大的安全套接层(SSL/TLS)和传输层安全(TLS)协议库,它不仅支持各种加密算法,还能用于创建数字证书,包括自签名的根证书权威机构(CA)证书。本文将详细阐述如何利用OpenSSL生成CA证书以及相关的...
例如,使用 CA 的 RSA 密钥创建一个自签署的 CA 证书(X.509 结构)的命令:openssl req -new -x509 -days 3650 -key server.key -out ca.crt 在实际应用中,OpenSSL 工具箱提供了非常多的命令和选项,用于处理证书...
OpenSSLCA是一个用于创建和管理证书颁发机构(CA)的工具,它在网络安全中扮演着重要角色,特别是在数字证书的签发和验证过程中。通过OpenSSLCA,我们可以构建自己的证书基础设施,这对于测试环境或者内部网络的安全...
在IT领域,尤其是在网络...通过理解这些基本概念和操作步骤,你将能够使用OpenSSL在Linux平台上创建自己的CA证书,为服务器和客户端提供安全的通信环境。这对于在本地网络或测试环境中模拟真实世界的安全场景非常有用。
Linux 下使用 OpenSSL 制作 CA 及证书颁发是指使用 OpenSSL 工具在 Linux 平台上创建一个证书颁发机构(CA),并颁发数字证书。CA 是一个trusted第三方机构,它负责颁发和管理数字证书,以确保网络通信的安全。 ...
OpenSSL提供了创建和管理CA的工具,包括生成根CA证书、中级CA证书、以及用户证书等。这些工具如`openssl req`用于创建证书请求,`openssl x509`用于签发和处理证书,`openssl ca`则是用于管理CA的命令行工具。 3. ...