使用OpenSSL创建CA和申请证书

OpenSSL简介

OpenSSL是一种加密工具套件,可实现安全套接字层(SSL v2 / v3)和传输层安全性(TLS v1)网络协议以及它们所需的相关加密标准。

openssl命令行工具用于从shell程序使用OpenSSL加密库的各种加密功能。 它可以用于:

  • 创建和管理私钥,公钥和参数
  • 公钥加密操作
  • 创建X.509证书,CSR和CRL
  • 消息摘要的计算
  • 使用密码进行加密和解密
  • SSL / TLS客户端和服务器测试
  • 处理S / MIME签名或加密的邮件
  • 时间戳记请求,生成和验证

openssl配置文件及三种策略

配置文件
/etc/pki/tls/openssl.cnf

三种策略
match(匹配):要求申请填写的信息跟CA设置信息必须一致
optional(可选):可有可无,跟CA设置信息可不一致
supplied(提供):必须填写这项申请信息

创建私有CA和申请、颁发证书文件(以下操作都是在一台机器上执行)

1.创建所需要的文件

[[email protected] ~]# cd /etc/pki/CA/
[[email protected] CA]# touch index.txt  生成证书索引数据库文件
[[email protected] CA]# echo 01 > serial 指定第一个颁发证书的序列号

2.CA自签证书

2.1生成私钥
[[email protected] CA]# (umask 066;openssl genrsa -out private/cakey.pem 2048)
Generating RSA private key, 2048 bit long modulus
...................................................................................+++
.+++
e is 65537 (0x10001)
2.2生成自签名证书
[[email protected] CA]# openssl req -new -x509 -key private/cakey.pem -days 3650 -out cacert.pem
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.‘, the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:beijing
Locality Name (eg, city) [Default City]:beijing
Organization Name (eg, company) [Default Company Ltd]:abc
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server‘s hostname) []:hechunping
Email Address []:[email protected]

选项说明:
-new:生成新证书签署请求
-x509:专用于CA生成自签证书
-key:生成请求时用到的私钥文件
-days n:证书的有效期限
-out /PATH/TO/SOMECERTFILE: 证书的保存路径

3.颁发证书

3.1在需要使用证书的主机生成证书请求(本实验是在本机)
3.1.1生成私钥
[[email protected] CA]# (umask 066;openssl genrsa -out /data/test.key 2048)
Generating RSA private key, 2048 bit long modulus
..................................................+++
...............................+++
e is 65537 (0x10001)
3.1.2生成证书申请文件
[[email protected] CA]# openssl req -new -key /data/test.key -out /data/test.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.‘, the field will be left blank.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:beijing
Locality Name (eg, city) [Default City]:beijing
Organization Name (eg, company) [Default Company Ltd]:abc
Organizational Unit Name (eg, section) []:IT
Common Name (eg, your name or your server‘s hostname) []:hechunping
Email Address []:[email protected]

Please enter the following ‘extra‘ attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:

3.2将证书申请文件传输给CA(两台不同的主机可以使用scp命令传输)

3.3CA签署证书,并将证书颁发给请求者
[[email protected] CA]# openssl ca -in /data/test.csr -out certs/test.crt -days 100
Using configuration from /etc/pki/tls/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 1 (0x1)
        Validity
            Not Before: Nov 10 13:45:34 2019 GMT
            Not After : Feb 18 13:45:34 2020 GMT
        Subject:
            countryName               = CN
            stateOrProvinceName       = beijing
            organizationName          = abc
            organizationalUnitName    = IT
            commonName                = hechunping
            emailAddress              = [email protected]
        X509v3 extensions:
            X509v3 Basic Constraints:
                CA:FALSE
            Netscape Comment:
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier:
                4C:AE:F0:13:F0:CD:8F:B5:F7:3F:1B:C8:E4:77:91:02:9E:88:6B:5A
            X509v3 Authority Key Identifier:
                keyid:E3:C1:5E:6D:94:5E:F2:AE:16:67:79:2C:69:B5:B9:10:D9:E0:51:BE

Certificate is to be certified until Feb 18 13:45:34 2020 GMT (100 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

注意:默认要求 countryName(国家),stateOrProvinceName(省),organizationName(公司)三项必须和CA一致

3.4查看证书中的信息

[[email protected] CA]# openssl x509 -in certs/test.crt -noout -text|issuer|subject|serial|dates

3.5查看指定编号的证书状态

[[email protected] CA]# openssl ca -status 01
Using configuration from /etc/pki/tls/openssl.cnf
01=Valid (V)

4.吊销证书

4.1在客户端获取要吊销的证书的serial
[[email protected] CA]# openssl x509 -in certs/test.crt -noout -serial -subject
serial=01
subject= /C=CN/ST=beijing/O=abc/OU=IT/CN=hechunping/[email protected]
4.2在CA上,根据客户提交的serial与subject信息,对比检验是否与index.txt文件中的信息一致
[[email protected] CA]# cat index.txt
V   200218134534Z       01  unknown /C=CN/ST=beijing/O=abc/OU=IT/CN=hechunping/[email protected]
4.2.1吊销证书
[[email protected] CA]# openssl ca -revoke newcerts/01.pem
Using configuration from /etc/pki/tls/openssl.cnf
Revoking Certificate 01.
Data Base Updated

4.2指定第一个吊销证书的编号,注意:第一次更新证书吊销列表前才需要执行。

[[email protected] CA]# echo 01 > crlnumber

4.3更新证书吊销列表

[[email protected] CA]# openssl ca -gencrl -out crl.pem
Using configuration from /etc/pki/tls/openssl.cnf

4.4查看crl文件

[[email protected] CA]# openssl crl -in crl.pem -noout -text

将申请下来的证书导出到windows中查看

1.在windows上按"win+R"键,然后运行"certmgr.msc"命令。
2.找到“受信任的根证书颁发机构”右键单击“所有任务”--->“导入”,然后按照向导选择在Linux申请下来的证书。
3.查看证书信息

原文地址:https://blog.51cto.com/hexiaoshuai/2449310

时间: 2024-10-11 04:13:29

使用OpenSSL创建CA和申请证书的相关文章

Openssl 创建CA和申请证书

Openssl 创建CA和申请证书 =============================================================================== 概述: 本章是上篇加密解密技术的续,主要介绍Openssl创建CA.申请证书.办法证书的整个操作,具体内容如下: 创建私有CA: 给节点颁发证书: 吊销证书  详情查看上篇加密解密技术:http://1992tao.blog.51cto.com/11606804/1856438 ============

openssl创建CA、申请证书及其给web服务颁发证书

一.创建私有的CA   1)查看openssl的配置文件:/etc/pki/tls/openssl.cnf   2)创建所需的文件 touch /etc/pki/CA/index.txt   echo 01 >/etc/pki/CA/serial 3)CA自签证书生成私钥 cd /etc/pki/CA (umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048) 4)生成自签名证书 openssl req -new -x50

Centos7.3创建CA和申请证书

Centos7.3创建CA和申请证书 openssl 的配置文件:/etc/pki/tls/openssl.cnf 重要参数配置路径 dir   = /etc/pki/CA                # Where everything is kept certs   = /etc/pki/CA/certs            # Where the issued certs are kept database    = /etc/pki/CA/index.txt        # dat

Centos7创建CA和申请证书 转自https://www.cnblogs.com/mingzhang/p/8949541.html

Centos7.3创建CA和申请证书 openssl 的配置文件:/etc/pki/tls/openssl.cnf 重要参数配置路径 dir   = /etc/pki/CA                # Where everything is kept certs   = /etc/pki/CA/certs            # Where the issued certs are kept database    = /etc/pki/CA/index.txt        # dat

半自动化创建CA和申请证书

1 概述 本文之所以称之为半自动化,是因为证书的申请并非日常工作,只是一段时间才需要申请,同时,在创建证书和办法证书的时候,有些参数需要根据用户的需求自己调整,如证书的有效时间,还有,是否给私钥加密等等,因为叫脚本设置为半自动化,手动输入一些参数,到达用户的需求.当然如果环境是固定,参数也是固定,有效时间固定,该脚本配合crontab也可以实现自动化申请和颁发等操作 CA中心又称CA机构,即证书授权中心(Certificate Authority ),或称证书授权机构.本文将介绍通过openss

加密、解密的原理及Openssl创建CA和ssh的基础应用

加密.解密的原理及Openssl创建CA和ssh的基础应用 随着互联网的不断发展和技术的不断成熟,在互联网上传输文件不在安全,在需要传送重要的数据时就必须加密处理. 密码算法分为三种:分别是对称加密,公钥加密,单向加密:以及需要对加密算法的认证,叫做认证协议.下面为大家概述对称加密,公钥加密,单向加密及认证协议 对称加密: 采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密. 需要对加密和解密使用相同密钥的加密算法.由于其速度快,对称性

创建CA自签证书

创建CA自签证书 1,创建CA服务器的私钥: (umask 0077;openssl genrsa -out cakey.pem 2048) 注意:将私钥放在目录下 /etc/pki/CA/private 2,创建CA服务器自签证书: [[email protected] CA]# openssl req -new -x509 -key cakey.pem -out /etc/pki/CA/cacert.pem You are about to be asked to enter informa

Openssl应用实例:创建私有CA并申请证书

一:实验环境 CA:centos6   172.17.252.226 客户端:centos7 172.17.252.188 二:阅读CA相关配置文件 CA配置文件路径:/etc/pki/tls/openssl.cnf 图一 图二 图三 三:证书申请及签署步骤 1.生成申请请求 2.RA核验 3.CA签署 4.获取证书 具体实验步骤 一:创建私有CA(certificate autrority  签证机构)    ##操作环境:centos6 1.创建所需要的文件  (如图一所示) ①生成证书索引

Linux如何创建私有CA和申请证书

openssl的配置文件:/etc/pki/tls/openssl.cnf 三种策略:匹配.支持和可选.匹配:指要求申请填写的信息跟CA设置信息必须一致:支持:指必须填写这项申请信息:可选:指可有可无. 实验环境:需要两台主机,我这里用主机A(Centos6:ip为172.17.250.83)创建CA并给其他主机提供CA服务:主机B(Centos7:ip为172.17.253.204)为httpd服务器,用来申请证书. 1.首先看一下配置文件的部分内容,其中以下内容在创建CA时是必须要写的: d