面试题答案
一键面试- 生成私钥:
- 命令:
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位是目前常用的长度。
- 命令:
- 生成证书签名请求(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)。这些信息用于标识证书的所有者。
- 命令:
- 生成自签名证书:
- 命令:
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
来对证书进行签名,以完成自签名过程。
- 命令: