当前位置: 首页 > Linux

linux下生成https证书nginx配置(opensslCRTPEMKEYCSRX.509理解)

时间:2023-04-07 02:01:50 Linux

SSLSSL-SecureSocketsLayer,现在应该叫“TLS”,但由于习惯问题,我们更多时候还是叫它“SSL”。http协议默认不对内容进行加密,因此在传输内容时很可能被他人监听据了解,对于安全性要求高的场合,必须要进行加密。https是带有加密的http协议,https的加密是基于SSL的。它实现了一个比较低级的加密,就是在加密之前,你的服务器程序在干什么,加密之后它在干同样的事情,不用动,这个加密对用户和开发者都是透明的。OpenSSL-简单地说,OpenSSL是SSL的一种实现,而SSL只是一种规范。从理论上讲,SSL的规范是安全的,目前的技术水平很难破解,但SSL的实现可能存在一些漏洞,比如著名的“Heartbleed”。OpenSSL也提供了很多强大的工具软件,强大到90%我们都用不上。证书标准X.509——这是一个证书标准,主要定义了证书中应该包含哪些内容。详情请参考RFC5280,这是SSL使用的证书标准。编码相同格式的X.509证书可能有不同的编码格式。目前,有两种编码格式。PEM-PrivacyEnhancedMail,打开可以看到文本格式,开头为“-----BEGIN...”,结尾为“-----END...”,内容为BASE64编码。查看PEM格式证书信息:opensslx509-incertificate.pem-text-nooutApache和*NIX服务器倾向于使用这种编码格式。DER——DistinguishedEncodingRules,打开看是二进制格式,不可读。查看DER格式证书的信息:opensslx509-incertificate.der-informder-text-nooutJava和Windows服务器倾向于使用这种编码格式。相关的文件扩展名是this这是相当具有误导性的。虽然我们已经知道有PEM和DER两种编码格式,但是文件扩展名不一定叫“PEM”或“DER”。除了PEM和DER之外,常见的扩展还包括以下内容。它们除了编码格式不同外,内容也不同,但大多可以相互转换编码格式。CRT——CRT应该是证书的三个字母。其实就是证书的意思。常见于*NIX系统,可能是PEM码,也有可能是DER码,大部分应该是PEM码,相信大家已经知道如何区分了。CER——或者certificate,或者certificate,常见于Windows系统,同理,可能是PEM编码,也可能是DER编码,大部分应该是DER编码的。KEY——通常用来存放公钥或私钥,不是X.509证书,编码是一样的,可能是PEM,也可能是DER。查看KEY的方式:opensslrsa-inmykey。如果key-text-noout是DER格式,同样的道理应该是这样的:opensslrsa-inmykey.key-text-noout-informderCSR-CertificateSigningRequest,即证书签名请求,thisisnotacertificate,但是向权威机构申请证书机构获得签名证书的核心内容是公钥(当然,还附带了一些其他信息)。在生成这个应用的时候,也会同时生成一个私钥,私钥必须自己保管。用过iOSAPP的朋友应该都知道如何向苹果申请开发者证书。检查方式:opensslreq-noout-text-inmy.csr(如果是DER格式,照常加-informder,此处不加)证书编码转换PEM转DERopensslx509-incert.crt-outformder-outcert.derDERtoPEMopensslx509-incert.crt-informder-outformpem-outcert.pem(提示:上面的例子是转换证书文件,如果要转换KEY文件,类似,除了需要把x509换成rsa,如果要转CSR,把x509换成req)未完待续,更多内容请访问下方源码链接。首页本文链接:https://blog.kfzsy.com/linux-https-nginx.html版权声明:除特别声明外,本博客所有文章均采用BY-NC-SA许可协议。转载请注明出处!