包含 macOS 的環境中自建 PKI 的一個坑。

2018-06-15 17:20:14 +08:00
 wezzard

一堆私人設備,不想用 Let's Encrypt 的證書,於是自己建了一個 PKI,私鑰加密算法全部選的是 secp521r1。這個算法在大多數情況下工作得蠻好的,但是由於蘋果在 macOS 的某個版本後使用了 libressl 替代以前的 OpenSSL,而這個算法在 libressl 中不是默認算法,在 macOS 中使用依賴系統自帶 curl 的工具用 TLS 訪問證書私鑰加密算法是這個的服務就總是出錯。

< HTTP/1.1 200 Connection established
< 
* Proxy replied OK to CONNECT request
* ALPN, offering http/1.1
* Cipher selection: EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH
* successfully set certificate verify locations:
*   CAfile: CA 證書文件路徑
  CApath: none
* error:14004410:SSL routines:CONNECT_CR_SRVR_HELLO:sslv3 alert handshake failure
* stopped the pause stream!
* Closing connection 0

使用 Homebrew 裝入 OpenSSL 且安裝了依賴 Homebrew OpenSSL 的 curl 和依賴 Homebrew OpenSSL 和 curl 的 git 之後就工作正常了(具體用法使用「 brew info 軟件包名字」查詢)。

libressl 的 Github Issues 中也有類似的案例:

https://github.com/libressl-portable/openbsd/issues/79

1415 次点击
所在节点    macOS
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/463442

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX