MST

星途 面试题库

面试题:安全认证之OpenSSL自签名证书基础

请简述使用OpenSSL生成自签名证书的基本步骤,以及每一步涉及到的关键参数及其作用。
39.5万 热度难度
后端开发安全认证

知识考点

AI 面试

面试题答案

一键面试
  1. 生成私钥
    • 命令openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
    • 关键参数及作用
      • -algorithm RSA:指定使用RSA算法生成私钥,RSA是一种广泛应用的非对称加密算法。
      • -out private_key.pem:指定输出私钥文件的名称为private_key.pem.pem是一种常见的用于存储密钥和证书的文件格式。
      • -pkeyopt rsa_keygen_bits:2048:设置生成的RSA密钥长度为2048位,密钥长度影响加密强度,2048位是目前常用的长度。
  2. 生成证书签名请求(CSR)
    • 命令openssl req -new -key private_key.pem -out csr.pem -subj "/C=CN/ST=Beijing/L=Beijing/O=MyCompany/OU=MyDepartment/CN=example.com"
    • 关键参数及作用
      • -new:表示创建一个新的证书签名请求。
      • -key private_key.pem:指定使用前面生成的私钥private_key.pem来对CSR进行签名。
      • -out csr.pem:指定输出的CSR文件名为csr.pem
      • -subj "/C=CN/ST=Beijing/L=Beijing/O=MyCompany/OU=MyDepartment/CN=example.com":设置证书主体信息,/C代表国家代码(这里是中国CN),/ST代表州或省(北京),/L代表城市(北京),/O代表组织(MyCompany),/OU代表组织单位(MyDepartment),/CN代表通用名称(通常是域名example.com)。这些信息用于标识证书的所有者。
  3. 生成自签名证书
    • 命令openssl x509 -req -in csr.pem -CAcreateserial -out certificate.pem -days 365 -signkey private_key.pem
    • 关键参数及作用
      • -req:表明输入的是一个证书签名请求。
      • -in csr.pem:指定输入的CSR文件为csr.pem
      • -CAcreateserial:自动创建一个新的CA序列号文件,用于唯一标识证书颁发机构(在自签名场景下,自己充当CA)。
      • -out certificate.pem:指定输出的自签名证书文件名为certificate.pem
      • -days 365:设置证书的有效期为365天,可以根据需要调整。
      • -signkey private_key.pem:指定使用私钥private_key.pem来对证书进行签名,以完成自签名过程。