【Linux学习】SSL证书及openssl常用命令

本文详细介绍了SSL证书服务,包括SSL协议、HTTPS,主流Web服务软件的证书格式,如DER、CRT、PEM、PFX等,以及证书安装在Nginx、k8s等场景的方法。此外,还探讨了证书添加到受信任列表的操作,并列举了多个操作系统下的具体步骤。最后,重点阐述了openssl命令的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1,SSL证书服务(Alibaba Cloud SSL Certificates Service)

是由中国及中国以外地域多家数字证书颁发机构( CA,Certificate Authority)。SSL证书服务将服务从HTTP转换成HTTPS,实现网站或移动应用的身份验证和数据加密传输。将已签发的证书安装到Web服务器后,则Web服务将会通过HTTPS加密协议来传输数据。

1)相关协议

1>SSL协议(Secure Socket Layer)

在传输通信协议(TCP/IP)上实现的一种安全协议,采用公开密钥技术。SSL广泛支持各种类型的网络,同时提供三种基本的安全服务,它们都使用公开密钥技术。

2>HTTPS

HTTPS也就是HTTP+SSL,基于SSL协议的网站加密传输协议,是HTTP的安全版。

2)主流Web服务软件

一般来说,主流的Web服务软件,通常都基于OpenSSL和Java两种基础密码库。

  1. Tomcat、Weblogic、JBoss等Web服务软件,一般使用Java提供的密码库。通过Java Development Kit (JDK)工具包中的Keytool工具,生成Java Keystore(JKS)格式的证书文件。
  2. Apache、Nginx等Web服务软件,一般使用OpenSSL工具提供的密码库,生成PEM、KEY、CRT等格式的证书文件。
  3. IBM的Web服务产品,如Websphere、IBM Http Server(IHS)等,一般使用IBM产品自带的iKeyman工具,生成KDB格式的证书文件。
  4. 微软Windows Server中的Internet Information Services(IIS)服务,使用Windows自带的证书库生成PFX格式的证书文件。

3)PKI 体系(Public Key Infrastructure,公开密钥基础设施)

PKI主要是为了管理密钥和证书

数字证书:解决公钥与用户映射关系问题。
包含了用于签名和加密数据的公钥的电子凭证,是PKI的核心元素

CA(认证中心):签发数字证书。

KMC:解决私钥的备份与恢复问题

LDAP:解决数字证书查询和下载的性能问题,避免 CA 中心成为性能瓶颈。

CRL(证书作废列表) 和 OSCP(在线证书状态协议):方便用户快速获得证书状态。

RA:方便证书业务远程办理、方便证书管理流程与应用系统结合。

在证书链中,最高一级CA称为根CA(Root-CA),用户之间的证书验证,需要对方证书生成的一条链**(证书链)**才能进行。由根证书为起点,透过层层信任(A信任B,B信任C,以此类推),使终端实体证书的持有者可以获得转授的信任,以证明身份。

3,证书格式

PKCS 全称是 Public-Key Cryptography Standards ,是由 RSA 实验室与其它安全系统开发商为促进公钥密码的发展而制订的一系列标准,PKCS 目前共发布过 15 个标准。 常用的有:
PKCS#7 Cryptographic Message Syntax Standard
PKCS#10 Certification Request Standard
PKCS#12 Personal Information Exchange Syntax Standard
X.509是常见通用的证书格式。所有的证书都符合为Public Key Infrastructure (PKI) 制定的 ITU-T X509 国际标准。
PKCS#7 常用的后缀是: .P7B .P7C .SPC
PKCS#12 常用的后缀有: .P12 .PFX
X.509 DER 编码(ASCII)的后缀是: .DER .CER .CRT
X.509 PAM 编码(Base64)的后缀是: .PEM .CER .CRT
.cer/.crt是用于存放证书,它是2进制形式存放的,不含私钥。
.pem跟crt/cer的区别是它以Ascii来表示。
pfx/p12用于存放个人证书/私钥,他通常包含保护密码,2进制方式
p10是证书请求
p7r是CA对证书请求的回复,只用于导入
p7b以树状展示证书链(certificate chain),同时也支持单个证书,不含私钥。

1)DER或.CER文件

这样的证书文件是二进制格式,只含有证书信息,不包含私钥。

2)*.CRT文件(自前面SSL证书)

这样的证书文件可以是二进制格式,也可以是文本格式,一般均为文本格式,功能与 .DER及.CER证书文件相同。

文本格式:
注意:开头和结尾必须严格一致,并且不能有空格。

—–BEGIN CERTIFICATE—–
MIIE5zCCA8+gAwIBAgIQN+whYc2BgzAogau0dc3PtzANBgkqh......
—–END CERTIFICATE—–

1>*.csr文件(Certificate Signing Request,证书签名请求)

CSR文件是申请SSL证书时所需要的一个数据文件。数字证书的核心,其实就是非对称加密,也就是公私钥对加密。

CSR是一个base64格式的一串字符串,并且以-----BEGIN CERTIFICATE REQUEST-----开头,并以-----END CERTIFICATE REQUEST-----为结尾。csr证书在线解析

2>*.key文件

无密码私钥文件。

-----BEGIN RSA PRIVATE KEY-----

-----END RSA PRIVATE KEY-----
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值