Openssl Learning Note

Posted Justin-Yip

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Openssl Learning Note相关的知识,希望对你有一定的参考价值。

创建自签名证书的步骤

注意:以下步骤仅用于配置内部使用或测试需要的SSL证书。

  • 第1步:生成私钥
    使用openssl工具生成一个RSA私钥
$ openssl genrsa -des3 -out server.key 2048

说明:生成rsa私钥,des3算法,2048位强度,server.key是秘钥文件名。

注意:生成私钥,需要提供一个至少4位的密码。

  • 第2步:生成CSR(证书签名请求)
    生成私钥之后,便可以创建csr文件了。

此时可以有两种选择。理想情况下,可以将证书发送给证书颁发机构(CA),CA验证过请求者的身份之后,会出具签名证书(很贵)。另外,如果只是内部或者测试需求,也可以使用OpenSSL实现自签名,具体操作如下:

$ openssl req -new -key server.key -out server.csr

说明:需要依次输入国家,地区,城市,组织,组织单位,Common Name和Email。其中Common Name,可以写自己的名字或者域名,如果要支持https,Common Name应该与域名保持一致,否则会引起浏览器警告。

Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:Beijing
Locality Name (eg, city) []:Beijing
Organization Name (eg, company) [Internet Widgits Pty Ltd]:joyios
Organizational Unit Name (eg, section) []:info technology
Common Name (e.g. server FQDN or YOUR name) []:demo.joyios.com
Email Address []:liufan@joyios.com
  • 第3步 :删除私钥中的密码
    在第1步创建私钥的过程中,由于必须要指定一个密码。而这个密码会带来一个副作用,那就是在每次Apache启动Web服务器时,都会要求输入密码,这显然非常不方便。要删除私钥中的密码,操作如下:
$ cp server.key server.key.org
$ openssl rsa -in server.key.org -out server.key
  • 第4步 : 使用CA证书 签发二级证书
    • 生成.csr
      openssl req -new -key test.key -out test.csr -days 365
    • 签名,在root.crt证书所在目录运行
	#颁发证书
	openssl ca -in /etc/pki/CA/req/test.csr -out /etc/pki/CA/certs/test.crt -days 365

References:
如何创建一个自签名的SSL证书(X509)
Linux openssl 生成证书的详解

以上是关于Openssl Learning Note的主要内容,如果未能解决你的问题,请参考以下文章

Openssl Learning Note

Machine Learning Note - Note 1

Note for Coursera《Machine Learning》1 | What is machine learning?

Pytorch Note49 Q-learning

Python 基础 - Day 2 Learning Note - File 文件

Python 基础 - Day 2 Learning Note - 列表&元组