openssl之相关概念

一、术语

  • TLS,传输层安全协议(Transport Layer Security)的缩写。
  • SSL,安全套接字层(Secure Socket Layer)的缩写。
  • KEY,通常指私钥。
  • CSR,证书签名请求(Certificate Signing Request)的缩写,这不是证书,可以简单理解成公钥,生成证书时要把这个提交给权威的证书颁发机构。
  • CRT,certificate的缩写,即证书。
  • X.509,是一种证书格式.对X.509证书来说,认证者总是CA或由CA指定的人,一份X.509证书是一些标准字段的集合,这些字段包含有关用户或设备及其相应公钥的信息。X.509的证书文件,一般以.crt结尾,根据该文件的内容编码格式,可以分为以下二种格式:
    (1)PEM - Privacy Enhanced Mail,打开看文本格式,以"-----BEGIN..."开头, "-----END..."结尾,内容是BASE64编码。Apache和*NIX服务器偏向于使用这种编码格式,
    (2)DER - Distinguished Encoding Rules,打开看是二进制格式,不可读。Java和Windows服务器偏向于使用这种编码格式。

二、其他

        openssl相当于ssl的一个实现,如果把ssl规范看成面向对象中的接口,那么openssl则认为是接口的实现。
        openssl给自己颁发证书的步骤:

  1. 先建一个cert目录,cd到该目录,以下所有命令的当前路径均为该目录。
  2. 生成私钥文件,输入命令:
    openssl genrsa -des3 -out server.key 1024
  3. 生成公钥文件,输入命令:
    openssl rsa -in server.key -pubout -out server_public.key
  4. 生成证书请求文件,输入命令:
    openssl req -new -key server.key -out server.csr"
  5. 生成CA的证书,前面提过X.509证书的认证者总是CA或由CA指定的人,所以需要生成一个CA的证书,输入命令:
    openssl req -newkey rsa:1024 -keyout ca.key -x509 -days 365 -out ca.crt"
  6. 第5步的CA证书给自己签发一个证书,输入命令
    openssl x509 -req -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial -days 3650 -out server.crt

        执行完以后,cert目录下server.crt就是我们需要的证书。
        注意:如果要在google等浏览器显示出安全的绿锁标志,自己颁发的证书肯定不好使,得花钱向第三方权威证书颁发机构申请(即:第5步中的自己生成变为购买,第6步中的签发是交给权威机构来做,我们只需要提交server.csr,然后权威机构会返回给我们server.crt)。

你可能感兴趣的:(算法)