opssl命令
使用openssl生成秘钥对,证书申请文件以及数字证书。
# 安装openssl
# 操作命令
点击查看
命令 | 描述 |
---|---|
openssl req | 处理证书请求(CSR) |
openssl x509 | 处理 X.509 证书 |
openssl rsa/dsa/ec | 生成RSA/DSA/椭圆曲线ES私钥 |
openssl genpkey | 处理 RSA 密钥 |
-algorithm RSA | 指定生成 RSA 密钥 |
-inform | 指定输入文件的格式,例如:PEM/DER |
-outform | 指定输出文件的格式,例如:PEM/DER |
-x509 | 生成自签名证书 |
-new | 生成新的证书 |
-in | 指定输入的证书请求文件(csr) |
-CA | 指定用于签署证书的 CA 证书文件 |
-key | 指定用于生成证书的私钥文件 |
-signkey | 指定用于签名的私钥文件 |
-CAkey | 指定用于签署证书的 CA 私钥文件 |
-CAcreateserial | 生成并使用一个序列号文件 |
-days | 证书的有效期天数 |
-out | 生成的签名证书输出文件 |
-pkeyopt rsa_keygen_bits:2048 | 指定 密钥的长度为 2048 位 |
-sha256 | 使用 SHA-256 哈希算法进行签名 |
-subj "/CN=My Custom CA" | 证书的通用名称(Common Name)为 My Custom CA |
-text | 以文本格式输出密钥的详细信息 |
-noout | 不输出密钥的原始内容 |
-pubkey | 输出公钥 |
-check | 检查密钥的完整性和一致性 |
--- | --- |
# 私钥
# 生成私钥
openssl genpkey -algorithm RSA -out private_key.pem
# 查看私钥
openssl rsa -in private_key.pem -check
# 公钥
# 从私钥提取公钥
openssl rsa -in private_key.pem -pubout -out public_key.pem
# 显示公钥内容
openssl rsa -in private_key.pem -pubout
# 从.csr或证书文件中提取公钥
openssl req -in request.csr -noout -pubkey
# 从证书文件(如 .crt 或 .cer)提取公钥
openssl x509 -in certificate.crt -noout -pubkey
# CSR
通过CSR申请证书流程
# 生成私钥和 CSR 文件:
个人或组织在本地生成一对密钥对:一个私钥和一个公钥。 使用生成的私钥来创建一个 CSR(证书签名请求,.csr 文件)。CSR 文件包含申请者的公钥和身份信息(如域名、组织名等),并由私钥对这些信息签名。 注意: 私钥并不会出现在 CSR 文件中,且不会被发送给证书颁发机构(CA)。私钥是保密的,只由申请人自己持有。
# 提交 CSR 文件给 CA:
个人或组织将生成的 .csr 文件提交给证书颁发机构(CA)。 CA 根据 CSR 文件中的信息验证申请人的身份。验证方法可能包括域名验证、组织验证等。
# CA 生成证书:
一旦 CA 验证成功,它会使用 CA 自己的私钥对 CSR 中的公钥和身份信息进行签名,生成证书文件(通常为 .crt 或 .cer)。 证书文件包含了申请人的公钥、身份信息以及 CA 的数字签名。这样,证书可以被其他人验证为“由 CA 颁发”,并确定证书内容的完整性。
# 获得证书并安装:
CA 将生成的证书文件(.crt 或 .cer)返回给申请人。 申请人可以将该证书文件与自己的私钥一起配置在服务器上,完成 SSL/TLS 安装。
# 使用私钥生成CSR
openssl req -new -key private_key.pem -out request.csr
# 查看csr
openssl req -in request.csr -noout -text
# 发证
# 使用OpenSSL秘钥生成 X.509 证书
openssl req -x509 -new -key private.key -days 365 -out certificate.crt
# 使用OpenSSL秘钥签署CSR生成 X.509 证书
openssl x509 -req -days 10 -in request.csr -signkey private_key.pem -out certificate.crt
# 使用CA证书签署CSR生成X.509 证书
# 1. 生成自签名证书
openssl req -x509 -new -key private_key.pem -days 3650 -out ca_cert.pem -subj "/CN=My Custom CA"
# 2. 使用CA证书和私钥签署 CSR
openssl x509 -req -in request.csr -CA ca_cert.pem -CAkey ca_private_key.pem -CAcreateserial -out signed_cert.crt -days 365 -sha256
描述
openssl req -x509:用于生成自签名证书。
openssl x509 -req:用于处理证书请求(CSR)并生成由证书颁发机构证书(CA)签名的证书。
# 查看证书信息
openssl x509 -in certificate.crt -text -noout
# 证书转换
# PEM 转 DER:
openssl x509 -in certificate.crt -outform DER -out certificate.cer
# DER 转 PEM:
openssl x509 -in certificate.cer -inform DER -outform PEM -out certificate.crt
上次更新: 2024/11/05, 08:29:31