openssl、x509、crt、cer、key、csr、ssl、tls 這些都是什麼鬼

2024年2月6日 26点热度 0人点赞

openssl、x509、crt、cer、key、csr、ssl、tls 這些都是什麼鬼

TLS:傳輸層安全協議 Transport Layer Security的縮寫

SSL:安全套接字層 Secure Socket Layer的縮寫

TLS與SSL對於不是專業搞安全的開發人員來講,可以認為是差不多的,這二者是並列關系,詳細差異見
http://kb.cnblogs.com/page/197396/

KEY 通常指私鑰。

CSR 是Certificate Signing Request的縮寫,即證書簽名請求,這不是證書,可以簡單理解成公鑰,生成證書時要把這個提交給權威的證書頒發機構。

CRT 即 certificate的縮寫,即證書。

X.509 是一種證書格式.對X.509證書來說,認證者總是CA或由CA指定的人,一份X.509證書是一些標準字段的集合,這些字段包含有關用戶或設備及其相應公鑰的信息。

X.509的證書文件,一般以.crt結尾,根據該文件的內容編碼格式,可以分為以下二種格式:

PEM - Privacy Enhanced Mail,打開看文本格式,以"-----BEGIN..."開頭, "-----END..."結尾,內容是BASE64編碼.

Apache和*NIX服務器偏向於使用這種編碼格式.

DER - Distinguished Encoding Rules,打開看是二進制格式,不可讀.

Java和Windows服務器偏向於使用這種編碼格式

OpenSSL 相當於SSL的一個實現,如果把SSL規范看成OO中的接口,那麼OpenSSL則認為是接口的實現。接口規范本身是安全沒問題的,但是具體實現可能會有不完善的地方,比如之前的"心臟出血"漏洞,就是OpenSSL中的一個bug.