证书文件名后缀的解释

几种常见的证书文件的格式,如下:

  • .csr 证书请求文件,由 RFC 2986定义的PKCS10格式,包含部分/全部的请求证书的信息,比如,主题, 机构,国家等,并且包含了请求证书的公玥,这些被CA中心签名后返回一张证书。返回的证书是公钥证书(只包含公玥不含私钥);
  • .pem 是一种容器格式,可能包含公钥证书,也可能包含完整的证书链(公钥,私钥,根证书),内容为base64编码过的可见字符串;
  • .key 包含私钥的文件,可以是二进制也可以是base64编码后的;
  • .pkcs12 .p12 .pfx pkcs是rsa定义的公钥密码学标准,pkcs12是其中的一个版本,其中的内容是完全加密的,可以通过命令将其转换成公钥和私钥.pem文件,openssl pkcs12 -in file-to-convert.p12 -out converted-file.pem -nodes
  • .crt .cer .cert 证书文件,pem编码过的,可以由csr签名得到。

生成自签名的证书

使用openssl命令。

  1. 生成rsa密钥,输入命令:openssl genrsa -des3 -out domain.key 1024 ,然后,输出一个密码,就能生成一个密钥文件;
  2. 拷贝一个不需要密码的密钥文件: openssl rsa -in domain.key -out domain_nopass.key
  3. 生成一个证书请求:openssl req -new -in domain.key -out domain.csr,输入必要的信息
  4. 使用密钥对证书签名:openssl x509 -req -days 300 -in domain.csr -signkey domain.key -out domain.crt