1. OpenSSL
linux中主要通过openssl,gpg等工具来实现加密解密机制,这里我只介绍下openssl的使用方法!
1.1 加密算法和协议类型:
对称加密:任意加密数据块和流的内容,加密和解密用同一个密码。
- 通常明文(clear text)通过算法和密钥生成密文,再由接受者用相同的密钥和算法解密获取明文。
- 算法:(DES、3DES、AES现在使用比较广、Blowfish、Twofish、IDEA、RC6、CAST5)
- 特性:加密、解密使用同一口令。将明文分隔成固定大小的块,逐个进行加密
- 缺陷:密钥过多、密钥传输不安全、密钥交换、身份验证。
公钥加密:非对称加密,加密解密用不同密码分公钥和私钥,公钥是从私钥中提取,公钥可以給别人,私钥保密。
- 密钥:公钥和私钥是成对出现的。公钥包含在私钥中,公钥称为public key、私钥为secret key,由发起者对接受者索要公钥,用公钥加密数据后发送给接受者。接受者用算法和私钥解密。运用场景:身份认证(认证协议)、密钥交换(DH算法)。
- 缺陷:加密、解密时间过长一般不用于简单通信,大致是对称加密的1000倍
单项加密:数据完整性算法,抽取数据特征码并且在二次抽取后跟此前特征码做比较以确保数据没有被窜改。
单项加密也叫数据完整性校验只能加密不能解密,定长输出、雪崩效应。单项加密有这几种方式:MD5、SHA1、SHA256、SHA384、SHA512
认证协议:用来确定通信方的真实性。
发起者用单项算法计算数据的特征码,用自己的私钥计算特征码附加在数据后面,在用对称密钥对整个包(数据和加特征码)进行加密,并用接受者的公钥加密对称加密密码,附加在整个包中一并发给对方。接受者用自己的私钥解密获取对称加密密码,得到密码后解密整个包获得数据和特征码,在用相同的算法计算特征码,用对方的公钥解密数据验证对方身份,用对方计算结果(特征码)和解析结果(特征码)进行对比,来验证数据的完整性。
1.2 证书签发流程
PKI (Public Key Infrastructure)
- 签发机构:CA
- 注册机构:RA
- 证书吊销列表:CRL
- 证书存取库
PKI:公开密钥基础设施(Public Key Infrastructure),是现在互联网安全基础规范
ca最新版证书,X.509: 定义了证书结构和认证协议标准:
- 版本号
- 序列号
- 签名算法ID
- 发行者名称
- 有效期限
- 主体名称
- 主题公钥
- 发行者唯一标识
- 主体的唯一标识
- 扩展
- 发行者签名
1.3 SSL/TLS协议运行机制的概述
SSL TLS的历史
- 1995: SSL 2.0 NetScape公司发布SSL 2.0版,很快发现有严重漏洞。
- 1996: SSL 3.0
- 1999: TLS 1.0
- 2006: TLS 1.1 RFC 4346
- 2008: TLS 1.2
- 2015: TLS 1.3
- 2006年和2008年,TLS进行了两次升级,分别为TLS 1.1版和TLS 1.2版。最新的变动是2011年TLS 1.2的修订版。
目前,应用最广泛的是TLS 1.2,接下来是SSL 3.0。但是,主流浏览器都已经实现了TLS 1.3的支持。
TLS 1.0通常被标示为SSL 3.1,TLS 1.1为SSL 3.2,TLS 1.2为SSL 3.3。
- SSL:(Secure Socket Layer,安全套接字层),为Netscape所研发,用以保障在Internet上数据传输之安全,利用数据加密(Encryption)技术,可确保数据在网络上之传输过程中不会被截取。当前版本为3.0。它已被广泛地用于Web浏览器与服务器之间的身份认证和加密数据传输。SSL协议位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。SSL协议可分为两层: SSL记录协议(SSL Record Protocol):它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。 SSL握手协议(SSL Handshake Protocol):它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥等。
- TLS:(Transport Layer Security,传输层安全协议),用于两个应用程序之间提供保密性和数据完整性。TLS 1.0是IETF(Internet Engineering Task Force,Internet工程任务组)制定的一种新的协议,它建立在SSL 3.0协议规范之上,是SSL 3.0的后续版本,可以理解为SSL 3.1,它是写入了 RFC 的。该协议由两层组成: TLS 记录协议(TLS Record)和 TLS 握手协议(TLS Handshake)。较低的层为 TLS 记录协议,位于某个可靠的传输协议(例如 TCP)上面。
- SSL/TLS协议提供的服务主要有:
认证用户和服务器,确保数据发送到正确的客户机和服务器;
加密数据以防止数据中途被窃取;
维护数据的完整性,确保数据在传输过程中不被改变。
1.3.1 TLS与SSL的差异
- 版本号:TLS记录格式与SSL记录格式相同,但版本号的值不同,TLS的版本1.0使用的版本号为SSLv3.1。
- 报文鉴别码:SSLv3.0和TLS的MAC算法及MAC计算的范围不同。TLS使用了RFC-2104定义的HMAC算法。SSLv3.0使用了相似的算法,两者差别在于SSLv3.0中,填充字节与密钥之间采用的是连接运算,而HMAC算法采用的是异或运算。但是两者的安全程度是相同的。
- 伪随机函数:TLS使用了称为PRF的伪随机函数来将密钥扩展成数据块,是更安全的方式。
- 报警代码:TLS支持几乎所有的SSLv3.0报警代码,而且TLS还补充定义了很多报警代码,如解密失败(decryption_failed)、记录溢出(record_overflow)、未知CA(unknown_ca)、拒绝访问(access_denied)等。
- 密文族和客户证书:SSLv3.0和TLS存在少量差别,即TLS不支持Fortezza密钥交换、加密算法和客户证书。
- certificate_verify和finished消息:SSLv3.0和TLS在用certificate_verify和finished消息计算MD5和SHA-1散列码时,计算的输入有少许差别,但安全性相当。
- 加密计算:TLS与SSLv3.0在计算主密值(master secret)时采用的方式不同。
- 填充:用户数据加密之前需要增加的填充字节。在SSL中,填充后的数据长度要达到密文块长度的最小整数倍。而在TLS中,填充后的数据长度可以是密文块长度的任意整数倍(但填充的最大长度为255字节),这种方式可以防止基于对报文长度进行分析的攻击。
- TLS的主要增强内容
TLS的主要目标是使SSL更安全,并使协议的规范更精确和完善。TLS 在SSL v3.0 的基础上,提供了以下增强内容:
- 更安全的MAC算法
- 更严密的警报
- “灰色区域”规范的更明确的定义
- TLS对于安全性的改进
- 对于消息认证使用密钥散列法:TLS 使用“消息认证代码的密钥散列法”(HMAC),当记录在开放的网络(如因特网)上传送时,该代码确保记录不会被变更。SSLv3.0还提供键控消息认证,但HMAC比SSLv3.0使用的(消息认证代码)MAC 功能更安全。
- 增强的伪随机功能(PRF):PRF生成密钥数据。在TLS中,HMAC定义PRF。PRF使用两种散列算法保证其安全性。如果任一算法暴露了,只要第二种算法未暴露,则数据仍然是安全的。
- 改进的已完成消息验证:TLS和SSLv3.0都对两个端点提供已完成的消息,该消息认证交换的消息没有被变更。然而,TLS将此已完成消息基于PRF和HMAC值之上,这也比SSLv3.0更安全。
- 一致证书处理:与SSLv3.0不同,TLS试图指定必须在TLS之间实现交换的证书类型。
- 特定警报消息:TLS提供更多的特定和附加警报,以指示任一会话端点检测到的问题。TLS还对何时应该发送某些警报进行记录。
1.4 OpenSSL开源的项目
三个组件
- OpenSSL:多用途的命令行工具
- libcrypto:公共加密库
- libssl:库文件,实现了ssl及tls
1.5 openssl的使用
[root#localhost ~]#openssl [command] [option]
选项与参数:
enc:对称加密程序
-e:指定为加密,可以不写默认为加密。
-des3:指定算法算法
-salt:默认设置,可以不写。生成一段字符串放在密码最前面进行加密,提高解密难度。
-a:基于base64处理数据。加密结果进行base64编码处理
-in:读取那个文件进行加密
-out:输出到那里
-d:指定为解密
#openssl支持的加密算法
Standard commands <--标准命令
asn1parse ca ciphers cms
crl crl2pkcs7 dgst dh
dhparam dsa dsaparam ec
ecparam enc engine errstr
gendh gendsa genpkey genrsa
nseq ocsp passwd pkcs12
pkcs7 pkcs8 pkey pkeyparam
pkeyutl prime rand req
rsa rsautl s_client s_server
s_time sess_id smime speed
spkac ts verify version
x509
Message Digest commands (see the `dgst' command for more details) <--消息摘要命令算法
md2 md4 md5 rmd160
sha sha1
Cipher commands (see the `enc' command for more details)<--加密算法命令
aes-128-cbc aes-128-ecb aes-192-cbc aes-192-ecb
aes-256-cbc aes-256-ecb base64 bf
bf-cbc bf-cfb bf-ecb bf-ofb
camellia-128-cbc camellia-128-ecb camellia-192-cbc camellia-192-ecb
camellia-256-cbc camellia-256-ecb cast cast-cbc
cast5-cbc cast5-cfb cast5-ecb cast5-ofb
des des-cbc des-cfb des-ecb
des-ede des-ede-cbc des-ede-cfb des-ede-ofb
des-ede3 des-ede3-cbc des-ede3-cfb des-ede3-ofb
des-ofb des3 desx idea
idea-cbc idea-cfb idea-ecb idea-ofb
rc2 rc2-40-cbc rc2-64-cbc rc2-cbc
rc2-cfb rc2-ecb rc2-ofb rc4
rc4-40 rc5 rc5-cbc rc5-cfb
rc5-ecb rc5-ofb seed seed-cbc
seed-cfb seed-ecb seed-ofb zlib
openssl:标准命令,消息摘要算法,加密命令
- 对称加密:
工具: openssl,enc,gpg
算法: 3des, aes, blowfish, twofish
openssl加解密
[root@localhost ~]# openssl enc -h
unknown option '-h'
options are
-in <file> input file
-out <file> output file
-pass <arg> pass phrase source
-e encrypt
-d decrypt
-a/-base64 base64 encode/decode, depending on encryption flag
-k passphrase is the next argument
-kfile passphrase is the first line of the file argument
-md the next argument is the md to use to create a key
from a passphrase. See openssl dgst -h for list.
-S salt in hex is the next argument
-K/-iv key/iv in hex is the next argument
-[pP] print the iv/key (then exit if -P)
-bufsize <n> buffer size
-nopad disable standard block padding
-engine e use engine e, possibly a hardware device.
- 对称加解密
#对称加密fstab这个文件后删除
[root@localhost ~]# cp /etc/fstab ./ #复制这个文件到根目录
[root@localhost ~]# openssl enc -e -des3 -a -salt -in fstab -out fstab.encrypt
enter des-ede3-cbc encryption password: <--输入密码
Verifying - enter des-ede3-cbc encryption password: <--在输入一次
[root@localhost ~]# cat fstab.encrypt
U2FsdGVkX1+bJb7OZHB0yz5xFLEI/5jxkhMVnFnC3fx6N8XwyE7uxZ02SDFiD8od
fWWNrwlewtdpOJmlbZmeZS9yXUTVNJkz+SJIeDetyrQ/dpVyiLHeoHyHT1KognCZ
1ca/pPYa4nFL3PgQhqPgumb5FVWREJScgvZY4L4jqOsHvMdfhXgwKzqz7PDJ7ExP
I07Tq7rp4kIFLSqbWKFsQUhwrNARMg/JuJB17ZHvjjrcy4vXb7fExJDAt1kDZt8U
IbblVyFlbNss2h2OS+bXWvAMD8W4TL5DQI3lSxnAWVLsB1DLpxm/MTQ5xISVjq6T
5OhP5xF4hOam5px58+k0x10UIxCQlGrKlMcvvQSVZcgLT4noVhwaZYqfF1NG5NEQ
ux8FApG6SAOPbtSQjg2pZGLsB1Q4yL/NCpabVSmDuKfumBGGWhNeiq/3+8pR+J7+
XnPxOKJ6iU6L73AMTL6ftN661HZ9Iu6ANOcDe8APTq+VCavzPck+bUnB+/rfsB5J
8I+1H+0TZaMricSEIp4jL38/1tWsq3+LRx9cUVetmAmMkNUHetni9K1DBnmnoLs3
Wtd5zlxBu8UfnXT+fwJgiHvuffsHAaypyuvkkkPhL4RDcgb6WYecASxSFY19cBqV
S3oBL3P7NDg=
#对称解密上面加密的文件
[root@localhost ~]# rm -rf fstab
[root@localhost ~]# openssl enc -d -des3 -a -salt -in fstab.encrypt -out fstab
enter des-ede3-cbc decryption password:
[root@localhost ~]# cat fstab
....
/dev/mapper/centos-root / xfs defaults 0 0
UUID=3ea63f43-8797-48e8-b5ed-bbfa833652f0 /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
- 单项加密
工具:md5sum, sha1sum, sha224sum, sha256sum,..., openssl dgst
[root@localhost ~]# openssl dgst -h
unknown option '-h'
options are
-c to output the digest with separating colons
-r to output the digest in coreutils format
-d to output debug info
-hex output as hex dump
-binary output in binary form
-hmac arg set the HMAC key to arg
-non-fips-allow allow use of non FIPS digest
-sign file sign digest using private key in file
-verify file verify a signature using public key in file
-prverify file verify a signature using private key in file
-keyform arg key file format (PEM or ENGINE)
-out filename output to filename rather than stdout
-signature file signature to verify
-sigopt nm:v signature parameter
-hmac key create hashed MAC with key
-mac algorithm create MAC (not neccessarily HMAC)
-macopt nm:v MAC algorithm parameters or key
-engine e use engine e, possibly a hardware device.
-md4 to use the md4 message digest algorithm
-md5 to use the md5 message digest algorithm
-ripemd160 to use the ripemd160 message digest algorithm
-sha to use the sha message digest algorithm
-sha1 to use the sha1 message digest algorithm
-sha224 to use the sha224 message digest algorithm
-sha256 to use the sha256 message digest algorithm
-sha384 to use the sha384 message digest algorithm
-sha512 to use the sha512 message digest algorithm
-whirlpool to use the whirlpool message digest algorithm
#对fstab进行消息摘要算法
[root@localhost ~]# md5sum fstab
7cd05b5431568f0f0c4e65c8eb77bbcc fstab
[root@localhost ~]# openssl dgst -md5 fstab
MD5(fstab)= 7cd05b5431568f0f0c4e65c8eb77bbcc
MAC: Message Authentication Code,单向加密的一种延伸应用,用于实现在网络通信中保证所传输的数据的完整性;
机制: CBC -MAC
HMAC:使用md5或sha1算法
openssl加密用户密码
# openssl passwd
# -1:md5加密
# -salt:指定附加信息
[root@localhost ~]# openssl passwd -1 -salt 123456 #salt值不同,同一个密码加密的值也不同
Password: <--输入要加密的密码
$1$123456$IwjpZ29kXBCHidr6gpBmd0
[root@localhost ~]# openssl passwd -1 -salt 1234567
Password:
$1$1234567$zX0UGQQbRU4G71DDWAAwF1
[root@localhost ~]# openssl passwd -1 -salt 12345678
Password:
$1$12345678$7Z0Jrucc2MScorHw3hH9y.
#使用随机数值进行base64加密
[root@localhost ~]# openssl rand -base64 4
9Kab9w==
[root@localhost ~]# openssl rand -base64 4
Z2gqyQ==
[root@localhost ~]# openssl rand -base64 4
mBVcrQ==
[root@localhost ~]# openssl rand -base64 4
3jdY3w==
[root@localhost ~]# openssl rand -base64 4
pj/LVA==
#使用随机数值进行hex加密
[root@localhost ~]# openssl rand -hex 4 <--4表示4个字节,8位
378330af
[root@localhost ~]# openssl rand -hex 4
def74032
[root@localhost ~]# openssl rand -hex 4
68a2617b
[root@localhost ~]# openssl rand -hex 4
f13ba60b
openssl生成秘钥对
# openssl genrsa -out /PATH/TO/PRIVATEKEY.FILE NUM_BITS
# (umask 077;openssl genrsa -out key.pri 2048) #括号里面支持会重新打开一个子bash
#生成秘钥并提取出公钥
[root@localhost ~]# (umask 077;openssl genrsa -out key.pri 2048)
Generating RSA private key, 2048 bit long modulus
.....................................................................................................................................................................+++
................+++
e is 65537 (0x10001)
[root@localhost ~]# ll key.pri
-rw-------. 1 root root 1679 11月 17 16:47 key.pri
#查看私钥
[root@localhost ~]# cat rsakey.private
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAw9MHjNV4qJbSad4SxC+zgYrY8ytBk83u4TCczoTGcouoe8m0
7AFDXgZu4j5VR1mQkwGXlupV8Wti2U2OKa+CZ+J7W6bH/D8NKG8v9/kiLC73m4Mj
vLqZ77Wbn5ee8ntzDLjYFrQt0fkhGOWDF+0bjZSGysLWF39Pq70y0mngJNzqBcJP
k+y0O+m6oyrSBCRGCEeh5PG5q9CyKAO6BRfXtCll5/e7PB1wZbwgneUAnucUMltZ
0Hl5RO8qKhXR7iGMHFl6EYv8kruMZxGPYf3eCsFCRIs8CMH1+gsXGpG6XFOFdCSc
nTIbA3aX5rm0giNtu1wKGVsrbBPQKdosc26fjQIDAQABAoIBACD0YZ/kyOJuR0jD
s5rKgEX7rNj3XZjXHi1NdgYXOCJMuHTklArnh4PKR1zRqp5QR1FGAlHGa+It9Tum
npcLT0HWTnY1EhC0N62nUIZFqeePm+HS5u+6428AvAjWhkw+VDU+4jan6dIdP+Gl
tjMPlwRzi1+R/F+F8E1xkJzybmMlcugS2Acs6F7cqmgAHhW+UxQV0pTd+R2cG7Ll
9+5LzuHokiXtg3pKGzAFAiXafBbexm7NAL2CP7smIIN2X/vbI5s4KA5NVCIlqKy3
OJfN9SywgBqlfJKE2gxh5N70S/C9dJoHl2E34SriT+g0IYKZNERvBqaEnk3dqQz/
mHUoAOECgYEA5M/N4h0I/k3nA1sOiMddbu/ldb8nxQWnYfmEUaNwDf9hB0QkByqC
jP2yaCunXO6TvK2cyqxrZ5N+kBLtZ6Tuner+Sa7EuVhf+FmkUsUc0wzHriBSqEjq
He/vqBDI9Adwx4sxHgBt40/9KI3sQ7j3BrslhTLaKjGUqlconSis/jkCgYEA2xfJ
HM3LgvZpj12Xm2Lha+sHy2LMlDb/A77zZlUsdf0fXX2ywb6z/fsOJmcJw1FezSQm
rGwCzlLy8UhSjpVaZwwDrNXgHK+OvZ2YkMb41dKZoIKECGMgXeUb/CUH3bpbevTm
jmaPwCTZ//FZCpd7844ZJ5PRdckb8Y7+ZwyJ6/UCgYEAjLYap9YxRKrFyXOC8ayh
Eesn0ox2uZwrfn4C2G3JKGKH2f8WpO2IkYom4BcQen8hjaO6y4zTFERJTfLF2ro8
IBN2w/tdcZoeks0V1+zuOAAhAD1Sd7k3eKeoW1PPMPsuaRh5YTjkWylCx2DYDiG+
kH4gqdRHBDGvej3VdSihkkkCgYEA14agirtP1jc9RJFXUL6G7ri4ZDV+9tbbKv4v
Rp3HLRKiRkAfF0TYn6LXGqQGEKP9VGSZvshKQlmLMBxrSmRWGETTYLTM0KtLCfD8
Yn+5ze5svl9mLzIEZxm42+Q5xr9KurwsCi2OgABAi+0KIMdAYimJSUu6o9oAqTJ3
xTuqefkCgYEAkitLJaRs0n+oQJ8EKcG+H2kpfoGvqCqL+sTaNDmEuzarDxcT2sKn
AL6lC8yx32kjid4d0CoqQoptBX6+f7EF2X+hBj//0hXTQhN1oUVVqwrQETYYEoUs
nWiGHfuijPgMOE1+zI9qdj6SpCxjlEXO9X76VQSlMMX/xbcXzqvs+z4=
-----END RSA PRIVATE KEY-----
#提取公钥
[root@localhost ~]# openssl rsa -in rsakey.private -pubout
writing RSA key
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAw9MHjNV4qJbSad4SxC+z
gYrY8ytBk83u4TCczoTGcouoe8m07AFDXgZu4j5VR1mQkwGXlupV8Wti2U2OKa+C
Z+J7W6bH/D8NKG8v9/kiLC73m4MjvLqZ77Wbn5ee8ntzDLjYFrQt0fkhGOWDF+0b
jZSGysLWF39Pq70y0mngJNzqBcJPk+y0O+m6oyrSBCRGCEeh5PG5q9CyKAO6BRfX
tCll5/e7PB1wZbwgneUAnucUMltZ0Hl5RO8qKhXR7iGMHFl6EYv8kruMZxGPYf3e
CsFCRIs8CMH1+gsXGpG6XFOFdCScnTIbA3aX5rm0giNtu1wKGVsrbBPQKdosc26f
jQIDAQAB
-----END PUBLIC KEY-----
1.6 签发私有CA证书
- 生成一个秘钥
- 生成自签署证书
#生成秘钥
[root@localhost ~]# openssl genrsa -out rsakey.key
Generating RSA private key, 2048 bit long modulus
...................................................................................................................+++
...............+++
e is 65537 (0x10001)
[root@localhost ~]# cat rsakey.private
-----BEGIN RSA PRIVATE KEY-----
MIIEowIBAAKCAQEAybTSpCw6L6dCRpeCbVEjKLqMaB/dLkkF0Xt/Yj5jY/ll/r8W
qLcVLRBiX+5ccj0okQT9/HOaH8j7in00WLf7GnRPctgDfGTOJaQdpVFHt1FCpBC5
ywGAirf6oUNLnjcenN9vJb4fOiBiLBP5gVOeuxPESyL3lW5PHESguyaq+whUB/vh
JPd+ZIhd4ifOxxVk2UfNDjvYr/RalXwfvJi5CV54aN4qQfmwiSmdDUMrMnEqWhYF
......
-----END RSA PRIVATE KEY-----
#req: 生成证书签署请求
# -news: 新请求
# -key /path/to/keyfile: 指定私钥文件
# -out /path/to/somefile:输出文件到那里
# -x509: 生成自签署证书
# -days n: 有效天数
#生成证书
# req
[root@localhost ~]# openssl req -new -x509 -key rsakey.private -out rsa.crt -days 365
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) []:JX <--省
Locality Name (eg, city) [Default City]:NC <-- 市
Organization Name (eg, company) [Default Company Ltd]:ItEdu <--职业
Organizational Unit Name (eg, section) []:tech <--岗位
Common Name (eg, your name or your server's hostname) []:cn.i7dom.cn <--主机名
Email Address []:cdadmin@ad.com <--邮箱
#查看证书信息
[root@localhost ~]# openssl x509 -text -in rsa.crt
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
fd:97:9f:1a:5d:9c:c3:fc
Signature Algorithm: sha256WithRSAEncryption
Issuer: C=CN, ST=JX, L=NC, O=ItEdu, OU=tech, CN=cn.i7dom.cn/emailAddress=cdadmin@ad.com
Validity
Not Before: Nov 17 14:21:06 2019 GMT
Not After : Nov 16 14:21:06 2020 GMT
Subject: C=CN, ST=JX, L=NC, O=ItEdu, OU=tech, CN=cn.i7dom.cn/emailAddress=cdadmin@ad.com
Subject Public Key Info:
Public Key Algorithm: rsaEncryption
Public-Key: (2048 bit)
Modulus:
00:c9:b4:d2:a4:2c:3a:2f:a7:42:46:97:82:6d:51:
23:28:ba:8c:68:1f:dd:2e:49:05:d1:7b:7f:62:3e:
63:63:f9:65:fe:bf:16:a8:b7:15:2d:10:62:5f:ee:
5c:72:3d:28:91:04:fd:fc:73:9a:1f:c8:fb:8a:7d:
34:58:b7:fb:1a:74:4f:72:d8:03:7c:64:ce:25:a4:
1d:a5:51:47:b7:51:42:a4:10:b9:cb:01:80:8a:b7:
fa:a1:43:4b:9e:37:1e:9c:df:6f:25:be:1f:3a:20:
62:2c:13:f9:81:53:9e:bb:13:c4:4b:22:f7:95:6e:
4f:1c:44:a0:bb:26:aa:fb:08:54:07:fb:e1:24:f7:
7e:64:88:5d:e2:27:ce:c7:15:64:d9:47:cd:0e:3b:
d8:af:f4:5a:95:7c:1f:bc:98:b9:09:5e:78:68:de:
2a:41:f9:b0:89:29:9d:0d:43:2b:32:71:2a:5a:16:
05:62:74:71:77:d8:11:6e:ab:79:f3:4d:e9:28:7a:
3c:51:b9:16:c1:91:49:54:2f:81:be:2c:9f:73:7e:
48:ea:82:24:4e:7e:e2:fd:8f:5a:97:2f:e2:d9:05:
db:13:de:19:e5:cf:9f:ea:de:b5:64:3b:c1:7e:b2:
9e:3d:16:7b:66:2d:40:38:3e:21:30:09:3d:cd:fe:
68:59
Exponent: 65537 (0x10001)
X509v3 extensions:
X509v3 Subject Key Identifier:
09:7D:F9:1E:69:09:22:DC:F8:10:DD:12:40:45:51:43:25:58:BC:0B
X509v3 Authority Key Identifier:
keyid:09:7D:F9:1E:69:09:22:DC:F8:10:DD:12:40:45:51:43:25:58:BC:0B
X509v3 Basic Constraints:
CA:TRUE
Signature Algorithm: sha256WithRSAEncryption
12:2c:17:4a:01:52:ca:8c:ef:ab:5b:89:09:55:92:54:72:02:
75:4f:06:cd:6b:e7:51:85:ab:2f:cc:3a:de:ee:e4:2d:06:9a:
09:e6:b7:eb:7b:f0:53:5c:7c:e4:06:25:44:94:ae:fd:e9:ac:
fe:d1:d3:34:7d:39:82:04:b5:f8:7d:bc:1b:35:0a:8a:20:b9:
f5:d9:f9:2f:dc:56:f8:c1:05:e3:07:f5:5c:d1:c3:fc:c1:84:
04:a5:ba:13:d7:8c:1f:d1:05:8e:d3:7e:31:2f:5c:fb:9e:98:
33:5f:1b:48:f9:cc:a3:d6:c4:f4:fd:4e:3f:8f:c6:1a:a8:eb:
30:ad:5e:da:9d:9f:47:25:7b:2e:43:9e:ac:69:a2:fd:9f:8a:
fd:b5:aa:ba:03:ba:b7:fb:a7:0e:c8:cf:21:81:c9:8e:79:73:
02:0f:70:f6:1c:4e:61:70:e3:2a:0e:53:09:0c:a5:00:33:81:
35:02:d2:30:06:e3:9b:14:e3:86:87:16:89:c3:04:78:35:30:
28:98:cf:9f:f5:3e:b9:49:ae:80:8f:49:d0:a4:f5:35:e1:d4:
22:31:1a:9b:15:45:c1:57:7d:9e:6b:6d:d9:2e:da:1a:a8:7a:
7e:0d:61:4c:59:9c:c8:00:57:90:d7:66:ce:9c:e8:76:17:4c:
b1:fd:2a:4a
-----BEGIN CERTIFICATE-----
MIIDyTCCArGgAwIBAgIJAP2XnxpdnMP8MA0GCSqGSIb3DQEBCwUAMHsxCzAJBgNV
BAYTAkNOMQswCQYDVQQIDAJKWDELMAkGA1UEBwwCTkMxDjAMBgNVBAoMBUl0RWR1
MQ0wCwYDVQQLDAR0ZWNoMRQwEgYDVQQDDAtjbi5pN2RvbS5jbjEdMBsGCSqGSIb3
DQEJARYOY2RhZG1pbkBhZC5jb20wHhcNMTkxMTE3MTQyMTA2WhcNMjAxMTE2MTQy
MTA2WjB7MQswCQYDVQQGEwJDTjELMAkGA1UECAwCSlgxCzAJBgNVBAcMAk5DMQ4w
DAYDVQQKDAVJdEVkdTENMAsGA1UECwwEdGVjaDEUMBIGA1UEAwwLY24uaTdkb20u
Y24xHTAbBgkqhkiG9w0BCQEWDmNkYWRtaW5AYWQuY29tMIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEAybTSpCw6L6dCRpeCbVEjKLqMaB/dLkkF0Xt/Yj5j
Y/ll/r8WqLcVLRBiX+5ccj0okQT9/HOaH8j7in00WLf7GnRPctgDfGTOJaQdpVFH
t1FCpBC5ywGAirf6oUNLnjcenN9vJb4fOiBiLBP5gVOeuxPESyL3lW5PHESguyaq
+whUB/vhJPd+ZIhd4ifOxxVk2UfNDjvYr/RalXwfvJi5CV54aN4qQfmwiSmdDUMr
MnEqWhYFYnRxd9gRbqt5803pKHo8UbkWwZFJVC+Bviyfc35I6oIkTn7i/Y9aly/i
2QXbE94Z5c+f6t61ZDvBfrKePRZ7Zi1AOD4hMAk9zf5oWQIDAQABo1AwTjAdBgNV
HQ4EFgQUCX35HmkJItz4EN0SQEVRQyVYvAswHwYDVR0jBBgwFoAUCX35HmkJItz4
EN0SQEVRQyVYvAswDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAEiwX
SgFSyozvq1uJCVWSVHICdU8GzWvnUYWrL8w63u7kLQaaCea363vwU1x85AYlRJSu
/ems/tHTNH05ggS1+H28GzUKiiC59dn5L9xW+MEF4wf1XNHD/MGEBKW6E9eMH9EF
jtN+MS9c+56YM18bSPnMo9bE9P1OP4/GGqjrMK1e2p2fRyV7LkOerGmi/Z+K/bWq
ugO6t/unDsjPIYHJjnlzAg9w9hxOYXDjKg5TCQylADOBNQLSMAbjmxTjhocWicME
eDUwKJjPn/U+uUmugI9J0KT1NeHUIjEamxVFwVd9nmtt2S7aGqh6fg1hTFmcyABX
kNdmzpzodhdMsf0qSg==
-----END CERTIFICATE-----
#吊销证书
[root@localhost ~]# openssl x509 -in rsa.crt -noout -serial -subject
serial=FD979F1A5D9CC3FC
subject= /C=CN/ST=JX/L=NC/O=ItEdu/OU=tech/CN=cn.i7dom.cn/emailAddress=cdadmin@ad.com
- 自签CN流程图:
版权属于:龙之介大人
本文链接:https://i7dom.cn/200/2019/17/linux-openssl.html
本站所有原创文章采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 您可以自由的转载和修改,但请务必注明文章来源和作者署名并说明文章非原创且不可用于商业目的。