创建自签名SSL证书

什么是自签名SSL证书?
自签名SSL证书是由创建它的人而不是受信任的证书颁发机构签名的证书。自签名证书可以与受信任的CA签名SSL证书具有相同的加密级别。

被任何浏览器识别为有效的自签名证书。如果您使用的是自签名证书,则网络浏览器将向访问者显示警告,提示该网站证书无法验证。

自签名证书主要用于测试目的或内部使用。您不应该在暴露于Internet的生产系统中使用自签名证书。

openssl

需要使用openssl工具包来生成自签名证书。
如果您的系统上未安装openssl软件包,则可以通过运行以下命令进行安装:

Ubuntu和Debian

sudo apt install openssl

Centos和Fedora

sudo yum install openssl

创建自签名SSL证书

要创建新的自签名SSL证书,请使用openssl req命令:

openssl req -newkey rsa:4096 \
            -x509 \
            -sha256 \
            -days 3650 \
            -nodes \
            -out example.crt \
            -keyout example.key

让我们分解命令并了解每个选项的含义:
-newkey rsa:4096-创建新的证书请求和4096位RSA密钥。默认值为2048位。
-x509 -创建X.509证书。
-sha256 -使用265位SHA(安全哈希算法)。
-days 3650 -认证证书的天数。 3650是10年。您可以使用任何正整数。
-nodes -创建没有密码的密钥。
-out example.crt -指定将新创建的证书写入的文件名。您可以指定任何文件名。
-keyout example.key -指定要写入新创建的私钥的文件名。您可以指定任何文件名。

有关openssl req命令选项的更多信息,请访问 OpenSSL req文档页面。

按下Enter键后,命令将生成私钥,并询问您将用于生成证书的一系列问题。

Generating a RSA private key
......................................................................++++
........++++
writing new private key to 'example.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----

输入所需的信息,然后按Enter。比如如下:

Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:Alabama
Locality Name (eg, city) []:Montgomery
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Linuxize
Organizational Unit Name (eg, section) []:Marketing
Common Name (e.g. server FQDN or YOUR name) []:myfreax.com
Email Address []:[email protected]

将在指定位置创建证书和私钥。使用ls命令验证是否已创建文件:

ls

看到example.crt和example.key两个文件,说明自签完成!

创建无提示的自签名SSL证书

如果要生成自签名SSL证书而没有提示任何问题,请使用-subj选项并指定所有主题信息:

openssl req -newkey rsa:4096 \
            -x509 \
            -sha256 \
            -days 3650 \
            -nodes \
            -out example.crt \
            -keyout example.key \
            -subj "/C=SI/ST=Ljubljana/L=Ljubljana/O=Security/OU=IT Department/CN=www.example.com"
Generating a RSA private key
......................................................................++++
........++++
writing new private key to 'example.key'
-----

在-subj行中指定的字段如下:

C=-国家/地区名称。 ISO的两个字母缩写。
ST= -州或省名。
L= -地区名称。您所在的城市的名称。
O= -您组织的全名。
OU= -组织单位。
CN= -完全限定的域名。

© 版权声明
THE END
如果喜欢,可以【点赞】【分享】【收藏】
点赞14赞赏 分享
评论 抢沙发
头像
人生坎坎,山山而峦,不过尔尔;心路漫漫,水水而川,如此悠悠
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容