我需要根据CSR第三方生成的证书创建一个证书,我无权访问私钥。keyUsage = keyCertSign生成的证书至少需要
作为证书的一部分。
C:/OpenSSL-Win32/bin/openssl.exe req -in C:/xampp/htdocs/certs/test.csr -out test.cer -config C:/xampp/htdocs/command.cnf
Run Code Online (Sandbox Code Playgroud)
这当然不起作用。
这可能吗?如果没有可以certreq用其他代替吗?PKI我们使用的服务器是基于 Microsoft 的。
给定证书 (ca-cert.pem) 及其私钥 (ca-key.pem),使用 OpenSSL 签署提供的 CSR (csr.pem) 并为其生成证书 (cert.pem) -
openssl x509 -req -in csr.pem -out cert.pem -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -days 365 -sha256
Run Code Online (Sandbox Code Playgroud)
选项的含义 -
要生成具有“证书签名”密钥用法(以及您可能需要的 CA 基本约束)的此类证书,请创建一个配置文件 (config.txt) -
[extensions]
keyUsage = keyCertSign
basicConstraints = CA:TRUE
Run Code Online (Sandbox Code Playgroud)
并将其提供给 OpenSSL(指向“扩展”部分)-
openssl x509 -req -in csr.pem -out cert.pem -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial -days 365 -sha256 -extfile config.txt -extensions extensions
Run Code Online (Sandbox Code Playgroud)
检查生成的证书 -
openssl x509 -in cert.pem -noout -text
Run Code Online (Sandbox Code Playgroud)
它有——
X509v3 extensions:
X509v3 Key Usage:
Certificate Sign
X509v3 Basic Constraints:
CA:TRUE
Run Code Online (Sandbox Code Playgroud)
为了完整起见,以下是如何创建“提供的”CA 密钥、CA 自签名证书、主题密钥和 CSR(此处使用 RSA 密钥,可以相同地使用 EC 密钥) -
CA 密钥 -
openssl genpkey -algorithm RSA -out ca-key.pem -pkeyopt rsa_keygen_bits:2048
Run Code Online (Sandbox Code Playgroud)
CA 自签名证书 -
openssl req -key ca-key.pem -new -x509 -days 365 -out ca-cert.pem -sha256 -subj /CN=CACert
Run Code Online (Sandbox Code Playgroud)
主题键 -
openssl genpkey -algorithm RSA -out key.pem -pkeyopt rsa_keygen_bits:2048
Run Code Online (Sandbox Code Playgroud)
主题密钥的 CSR -
openssl req -new -key key.pem -out csr.pem -sha256 -subj /CN=SubjectCert
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8213 次 |
| 最近记录: |