自制 SSL 证书

你是不是也有很多疑问?
注册域名,为什么还要缴费?这个费用去了哪?给谁花了?麻蛋,劳资也发明个后缀,让你们也来注册,我就可以在家里天天数钱了,哈哈哈哈哈
HTTPS的证书,为什么要掏钱买?难道我自己制作个证书就不行吗?

这2个疑问,出现在我脑海里很久了,也没怎么去深究,后面也给百度过。

对于第一个问题是,缴纳的费用是域名的管理费用,给数字资源分配机构的。后缀的注册,是很麻烦的(主要是得有钱),没有实力是无法注册的,需要向美国那边的什么什么机构进行申请,申请之后还要进行审核等操作,申请的费用不是一般人能承受的,据我所知中国有2家公司申请了后缀(仅仅是我知道的,不代表除了这2家,就没其它公司了),百度[http://nic.baidu/],新浪(域名忘了,我也不太记得是不是新浪公司了)。

第二个问题,得先了解https的证书有什么用,于是百度了一下,屁话一大推,总结一句话,网站变得更安全的(指数据传输,网站识别等),https是未来的什么什么(好像是标准吧,我忘了,不知道是谁说的),再加上微信相关的开发也需要使用https的域名。于是我就去看看什么事https,https是一个协议吧(ssl),也就是在传输数据是加密的,自己制作一个证书也是可以的,只不过浏览器在访问时会提示不安全,因为你自制的证书没有认证,认证的话有个根证书什么的和你电脑上的证书进行验证。所以需要ca机构进行认证,这个费用就是给的审核,管理,保险等费用。具体可以百度。我记得有个银行网站就是搞得自己生成的证书,网站就会让你安装一个它给的证书,安装之后就不会提示了。

我在网上找了好几篇文章,发现都是抄过去抄过来的[https://www.cnblogs.com/lihuang/articles/4205540.html]
我用的环境是在linux上,安装了OpenSSL软件,如果是windows的话,应该也可以去下载个OpenSSL软件进行生成吧。

1.生成私钥

openssl genrsa -des3 -out private.key 2048

2.删除私钥中的密码(可选。网上说带有密码的会有一个副作用,那就是apache每次启动web服务器时,都会要求输入密码,显然不方便)

openssl rsa -in private.key -out private2.key

3.生成CSR(证书签名请求)

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

4.生成自签名证书

openssl x509 -req -days 365 -in server.csr -signkey private.key -out server.crt

生成证书之后把server.csr的内容追加到server.cst文件中,重命名为xxxx.pem,这样证书就算搞定了,把私钥和xxx.pem文件放到服务器中配置就可以了。