2017-06-06 107 views
2

我使用的是collider(https://github.com/webrtc/apprtc/tree/master/src/collider -a中的websockets服務器),我正在嘗試添加SSL/TLS支持。對於我生成的自簽名證書:帶有Websockets服務器的SSL/TLS - 去掉lang

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 

Enter PEM pass phrase: 
Verifying - Enter PEM pass phrase: 
Country Name (2 letter code) [AU]:US 
State or Province Name (full name) [Some-State]:CA 
Locality Name (eg, city) []: 
Organization Name (eg, company) [Internet Widgits Pty Ltd]:testwebsite.com 
Organizational Unit Name (eg, section) []:Engineering 
Common Name (e.g. server FQDN or YOUR name) []:www.testwebsite.com 
Email Address []:[email protected] 

當我運行的對撞機,我看到這個錯誤:

2017/06/05 21:25:50 Error Run: crypto/tls: failed to parse private key 

當我生成使用(基於http://www.kaihag.com/https-and-go/):

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout key.pem -out cert.pem 

我收到此錯誤:

2017/06/05 22:11:31 http: TLS handshake error from <some-ip>:1082: remote error: unknown certificate 

如何解決這個問題?

注:對撞機採用golang.org/x/net/websocket

+0

***'CN = www.example.com' ***可能是錯誤的。主機名始終在* SAN *中。如果它存在於* CN *中,那麼它也必須存在於* SAN *中(在這種情況下,您必須列出它兩次)。有關更多規則和原因,請參閱[如何使用您的證書頒發機構簽署證書籤名請求](http://stackoverflow.com/a/21340898/608639)和[如何使用openssl創建自簽名證書?]( http://stackoverflow.com/q/10175812/608639)您還需要將自簽名證書放入適當的信任庫中。 – jww

+0

@jww感謝指針。我按照步驟進行:https://jamielinux.com/docs/openssl-certificate-authority/sign-server-and-client-certificates.html#create-a-certificate 創建一個根證書,然後創建一箇中間媒介。我使用intermedia簽署了我的網站的證書。我仍然收到未知的證書錯誤。 – ssk

回答