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

工作中有些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

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

声明: 本站所有内容仅供参考,分享出来是为了可以给大家提供新的思路。 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。 互联网转载资源会有一些其他联系方式,请大家不要盲目相信,被骗本站概不负责! 本网站部分内容只做项目揭秘,无法一对一教学指导,每篇文章内都含项目全套的教程讲解,请仔细阅读。 本站分享的所有平台仅供展示,本站不对平台真实性负责,站长建议大家自己根据项目关键词自己选择平台。 因为文章发布时间和您阅读文章时间存在时间差,所以有些项目红利期可能已经过了,能不能赚钱需要自己判断。 本网站仅做资源分享,不做任何收益保障,创业公司上收费几百上千的项目我免费分享出来的,希望大家可以认真学习。 本站所有资料均来自互联网公开分享,并不代表本站立场,如不慎侵犯到您的版权利益,请联系本站删除,将及时处理! 站长联系方式微信:ddd204443
行业资讯

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

2024-4-19 9:12:17

行业资讯

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

2024-4-19 9:33:16

给力项目,中创会员网会员可以下载 友情提醒:中创会员网微信公众号开通了, 这里没有广告,只有干货!定期分享你意想不到的网络思维! 干货教程!网赚论坛部分教程需要解压密码,所以请务必加微信公众号! 据说加了站长微信的,一个月都可以赚几万块!试试就知道哦 站长v:ddd204443
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索