签名证书是什么(关于自签名证书的那些事)

工作中有些Web站点部署在公司内部服务器,访问者也都是公司的同事。为了配置https安全访问,可以使用自签名证书或私有CA签名证书。

如果有很多的内部域名需要实现https的访问,最好配置一个私有的CA,如果仅有一两个域名,直接使用自签名证书更方便些。

自签名证书和CA签名证书的区别:

自签名证书不能被吊销,如果证书私钥泄露,你需要重新生成新的证书和私钥并配置到Web服务器上如果有多个自签名证书,为了建立客户端的信任,每个证书都需要在客户端完成安装。如果采用CA签名证书的方式,每个客户端只需要安装CA的证书即可,该CA签名的证书,客户端都将信任

本文仅介绍自签名证书的生成和使用。

生成自签名证书

使用Li我爱线报网每日持续更新海量各大内部创业教程nux自带的openssl命令,如下:

openssl \ req \ -newkey rsa:2048 \ -nodes \ -keyout key.pem \ -x509 -days 365 -out cert.pem \ -subj “/C=CN/ST=Guangdong/L=Shenzhen/O=CompanyName/OU=IT/CN=www.example.com/emailAddress=email@example.com”

重要参数解释:

-newkey,这个选项会生成新的CSR(证书签名请我爱线报网每日持续更新海量各大内部创业教程求)和新的私钥-nodes,产生的私钥不用加密,不会弹出输入密码的提示-subj,指定证书的Subject Name,如果是域名证书,保证CN为站点域名即可

上面命令执行后,当前目录将生成域名证书和对应的私钥,

[aneirin@host-1~]$ls -lh -rw-rw-r– 1 aneirin aneirin 1.5K Jun 23 14:43 cert.pem -rw-rw-r– 1 aneirin aneirin 1.7K Jun 23 14:43 key.pem测试自签名证书

通过上面命令就可以生成自签名证书和私钥。如何测试证书是否可以正常使用,依赖Python的Flask模块即可(如果没有安装,使用pip提前安装),运我爱线报网每日持续更新海量各大内部创业教程行下面代码:

from flask import Flask Flask(__name__).run(ssl_context=(cert.pem, key.pem))

运行上面脚本后,Flask将启动一个Web服务,并监听在服务器环回接口的端口5000上,

[aneirin@host-1~]$sudo ss -tnlp | grep 5000 LISTEN 0 128 127.0.0.1:5000 *:* users:((“python”,pid=19906,fd=3))

使用curl测试,

[aneirin@host-1~]$curl -vvvI https://www.example.com:5000 –resolve www我爱线报网每日持续更新海量各大内部创业教程.example.com:5000:127.0.0.1 * Added www.example.com:5000:127.0.0.1 to DNS cache * About to connect() to www.example.com port 5000 (#0) * Trying 127.0.0.1 * Connected to www.example.com (127.0.0.1) port 5000 (#0) * Initializing NSS with certpath: sql:/etc/pki/nssdb * CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none * Server cer我爱线报网每日持续更新海量各大内部创业教程tificate: * subject: E=email@example.com,CN=www.example.com,OU=IT,O=ExampleCOM,L=Shenzhen,ST=Guangdong,C=CN * start date: Jun 23 06:43:18 2021 GMT * expire date: Jun 23 06:43:18 2022 GMT * common name: www.example.com * issuer: E=email@example.com,CN=www.example.com,OU=IT,O=ExampleCOM,L=Shenzhen,ST=Guangdong,C=CN * NSS error我爱线报网每日持续更新海量各大内部创业教程 -8172 (SEC_ERROR_UNTRUSTED_ISSUER) * Peers certificate issuer has been marked as not trusted by the user. * Closing connection 0 curl: (60) Peers certificate issuer has been marked as not trusted by the user. More details here: http://curl.haxx.se/docs/sslcerts.html ……

因为证书是自签名的,curl并不信任这个证书,可以配置服务器让其信任该证书,

[aneirin@host-1~]$sudo c我爱线报网每日持续更新海量各大内部创业教程p cert.pem /etc/pki/ca-trust/source/anchors/selfsign-cert.pem [aneirin@host-1~]$sudo update-ca-trust

备注:服务器操作系统为“CentOS Linux release 7.9.2009 (Core)”

再次运行上面的命令:

[aneirin@host-1~]$curl -vvvI https://www.example.com:5000 –resolve www.example.com:5000:127.0.0.1 * Added www.example.com:5000:127.0.0.1 to DNS ca我爱线报网每日持续更新海量各大内部创业教程che * About to connect() to www.example.com port 5000 (#0) * Trying 127.0.0.1 * Connected to www.example.com (127.0.0.1) port 5000 (#0) * Initializing NSS with certpath: sql:/etc/pki/nssdb * CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none * SSL connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 * Server certificate: * subj我爱线报网每日持续更新海量各大内部创业教程ect: E=email@example.com,CN=www.example.com,OU=IT,O=ExampleCOM,L=Shenzhen,ST=Guangdong,C=CN * start date: Jun 23 06:43:18 2021 GMT * expire date: Jun 23 06:43:18 2022 GMT * common name: www.example.com * issuer: E=email@example.com,CN=www.example.com,OU=IT,O=ExampleCOM,L=Shenzhen,ST=Guangdong,C=CN > HEAD / HTTP/1.1 > User-Age我爱线报网每日持续更新海量各大内部创业教程nt: curl/7.29.0 > Host: www.example.com:5000 > Accept: */* > * HTTP 1.0, assume close after body < HTTP/1.0 404 NOT FOUND HTTP/1.0 404 NOT FOUND < Content-Type: text/html; charset=utf-8 Content-Type: text/html; charset=utf-8 < Content-Length: 232 Conte我爱线报网每日持续更新海量各大内部创业教程nt-Length: 232 < Server: Werkzeug/2.0.1 Python/3.6.8 Server: Werkzeug/2.0.1 Python/3.6.8 < Date: Wed, 23 Jun 2021 07:16:39 GMT Date: Wed, 23 Jun 2021 07:16:39 GMT < * Closing connection 0

可以看到自签名证书已经可以正常使用。

是不是自签名证书可以从curl返回的结果一眼看出来:键“issuer”和“subject”一模一样的证书就是自签名证书,可以看到,我们的我爱线报网每日持续更新海量各大内部创业教程证书是自签名证书。

总结

本文对自签名证书的生成和使用做了介绍。生成自签名域名证书时,特别注意CN的值是域名即可。有些证书可以包含多个域名,这时需要配置“ X509v3 Subject Alternative Name”。通过私有CA生成域名证书,可以参考简便的HTTPS证书生成工具-CFSSL

希望这篇文章能帮到正在努力的你,欢迎点赞,评论!

推荐阅读

给力项目线报网会员可免费下载 加入会员
友情提醒: 请尽量登录购买,防止付款了不发货!
QQ交流群:226333560 站长微信:qgzmt2
温馨提示:本站提供的一切软件、教程和内容信息都来自网络收集整理,仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,版权争议与本站无关。用户必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。如果您喜欢该程序和内容,请支持正版,购买注册,得到更好的正版服务。我们非常重视版权问题,如有侵权请邮件与我们联系处理。敬请谅解!

给TA打赏
共{{data.count}}人
人已打赏
行业资讯

40岁男人衣服品牌推荐(40-50岁男性穿什么牌子的衣服比较得体?推荐这几个男装品牌)

2024-4-19 9:12:17

行业资讯

雅迪和爱玛电动车哪个好哪个质量好(电动车品牌雅迪和爱玛选哪个更好?行内人告诉你答案,不用再选错)

2024-4-19 9:33:16

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索