创建自签名证书及验证私钥与证书

创建自签名证书及验证私钥与证书

💡 原文英文,约800词,阅读约需3分钟。
📝

内容提要

本文分享了作者在工作中遇到的与密钥库相关的问题及调试步骤,主要因错误的私钥和证书组合导致无谓的工作。文章分为创建自签名证书和验证SSL证书两部分,详细介绍了生成私钥、证书请求、证书及密钥库的步骤,并提供了验证私钥与证书匹配的方法,旨在帮助读者解决类似问题。

🎯

关键要点

  • 作者分享了在工作中遇到的与密钥库相关的问题及调试步骤。
  • 问题主要因错误的私钥和证书组合导致,造成了两天的无谓工作。
  • 文章分为两个部分:创建自签名证书和验证SSL证书。
  • 第一部分介绍了生成私钥、证书请求、证书及密钥库的步骤。
  • 创建私钥的命令为:openssl genrsa -des3 -out private_key.key 2048。
  • 生成证书签名请求的命令为:openssl req -new -key private_key.key -out certificate_signing_request.csr。
  • 从CSR生成证书的命令为:openssl x509 -req -in certificate_signing_request.csr -signkey private_key.key -out certificate.crt。
  • 将证书和私钥转换为PKCS12文件的命令为:openssl pkcs12 -export -out keystore_pkcs.p12 -inkey private_key.key -in certificate.crt -name 'faustus' -password pass:bulgogi。
  • 创建JKS的命令为:keytool -importkeystore -srckeystore keystore_to_test.p12 -srcstoretype PKCS12 -srcalias faustus -srcstorepass bulgogi2902 -destkeystore dest_ks.jks -deststoretype JKS -deststorepass bulgogi2902 -destalias fausto。
  • 第二部分介绍了验证SSL证书的步骤。
  • 检查私钥是否被篡改的命令为:openssl rsa -in [key-file.key] -check -noout。
  • 确认私钥和SSL/TLS证书密钥对的模数值匹配。
  • 使用公钥加密和私钥解密的步骤被详细描述。
  • 签名文件并验证签名的命令也被提供。
  • 文章旨在帮助读者解决类似的密钥库问题。

延伸问答

如何创建自签名证书?

可以使用命令:openssl genrsa -des3 -out private_key.key 2048 创建私钥,然后生成证书签名请求和证书。

如何验证私钥与证书是否匹配?

可以通过检查私钥和证书的模数值是否匹配来验证,使用命令:openssl x509 -noout -modulus -in [certificate-file.cer] 和 openssl rsa -noout -modulus -in [key-file.key]。

创建PKCS12文件的命令是什么?

创建PKCS12文件的命令为:openssl pkcs12 -export -out keystore_pkcs.p12 -inkey private_key.key -in certificate.crt -name 'faustus' -password pass:bulgogi。

如何检查私钥是否被篡改?

可以使用命令:openssl rsa -in [key-file.key] -check -noout 来检查私钥是否被篡改。

如何将证书和私钥转换为JKS格式?

使用命令:keytool -importkeystore -srckeystore keystore_to_test.p12 -srcstoretype PKCS12 -srcalias faustus -srcstorepass bulgogi2902 -destkeystore dest_ks.jks -deststoretype JKS -deststorepass bulgogi2902 -destalias fausto。

如何使用公钥加密和私钥解密?

首先从证书中提取公钥,然后使用公钥加密文件内容,最后用私钥解密该文件。

➡️

继续阅读