【Ops】02 Self Signed Cert
【Ops】02 Self Signed Cert
1 基础概念
自签名证书是指由用户自己生成和签名的证书,而不是由公认的证书颁发机构(如VeriSign或Let’s Encrypt)签名的证书。自签名证书是免费的,但通常不受浏览器和其他客户端的信任。
1.1 CA
CA(Certificate Authority)是一个负责签发和管理数字证书
的可信任实体。
以下是 CA 的主要特征和职责:
- 身份验证: CA 负责验证证书请求者的身份。这通常涉及验证请求者拥有特定域名或 IP 地址的控制权。验证可以通过多种方式进行,包括域验证、组织验证等。
- 签发证书: 一旦验证通过,CA 将签发数字证书。数字证书包含了一对密钥中的公钥,以及相关的身份信息。私钥通常由证书的所有者保管,而公钥和证书信息则被 CA 所签署。
- 证书吊销: CA 负责在需要时吊销证书。证书可能需要吊销的原因包括证书的所有者不再控制相关私钥、证书的私钥被泄露、证书的所有者不再合法等。
- 维护证书撤销列表(CRL): CA 维护一个证书撤销列表,其中包含吊销的证书的信息。这允许其他实体检查某个证书是否已被吊销。
- 数字签名: CA 使用其私钥对签发的证书进行数字签名,以确保证书的完整性和真实性。其他实体可以使用 CA 的公钥来验证数字签名。
- 信任链: CA 的根证书被内置到操作系统和浏览器中,形成了信任链。当服务器或服务端提供由 CA 签发的证书时,客户端可以通过信任链验证证书的真实性。
自签名证书分为 带CA 和 不带CA 两种。
1.1.1 如何选择带不带CA
选择带CA还是不带CA的自签名证书,主要取决于我们的具体需求和应用场景。
- 规模和复杂度:如果环境有多个服务器和服务,或者希望能够集中管理和验证证书,那么创建自己的CA,并使用带CA的自签名证书可能是一个更好的选择。
- 成本和资源:如果预算有限,或者只是需要一个简单的、临时的解决方案,那么不带CA的自签名证书可能是一个快速且无成本的选择。
- 安全和信任度:如果需要更高级别的信任和安全保障,可能需要考虑购买公认CA签名的证书,而不是使用自签名证书。
- 未来的扩展计划:如果计划未来将扩展您的系统或服务,那么现在就创建自己的CA,并使用带CA的自签名证书可能会为未来的扩展节省很多时间和精力。
综上所述,理解自签名证书的不同类型及其适用场景,能够帮助我们做出更明智的决策,以满足您的安全和管理需求。
1.2 数字证书
数字证书,是一种用于电脑的身份识别机制。
由数字证书颁发机构(CA)对使用私钥创建的签名请求文件做的签名(盖章),表示CA结构对证书持有者的认可。
用于在计算机网络上进行身份验证和加密通信。
X.509证书包含三个文件:后缀分别为key,csr和crt,在密码学中,X.509是一个标准,规范了公开秘钥认证、证书吊销列表、授权凭证、凭证路径验证算法等。
- key:是服务器上的私钥文件,用于对发送给客户端数据的加密,以及对从客户端接收到数据的解密
- csr:是证书签名请求文件,用于提交给证书颁发机构(CA)对证书签名
- crt:是由证书颁发机构(CA)签名后的证书,或者是开发者自签名的证书,包含证书持有人的信息,持有人的公钥,以及签署者的签名等信息
2 自建证书的过程
2.1 自建CA(根证书)
并不是要你自己搭建一个CA中心,这里的CA其实指的是创建自己的CA根证书,这样可以给其他人签署证书,但是这个CA根证书是你自己创建的,没有得到互联网的承认,也不会被正规CA认可,所以不具备通用和有效性,一般可以在内部网络使用。
分为两步:
- 生成CA私钥
- 生成CA自签名证书
2.2 自签名SSL证书
一般来说,我们的证书是要发给权威机构CA进行验证签署的,但是自签证书,就是自己给自己签署生成一份CA证书,或者用自建的CA根证书来签发的SSL证书,同样不具备互联网的通用和有效性,一般只用于测试环境或内部网络。
- 生成服务器私钥和证书申请文件CRS(证书签署请求)
- 使用CA根证书签名SSL证书
3 自签证书怎么用起来
MARK: wait to complete.
100 doc
refer doc:
This post is licensed under CC BY 4.0 by the author.