簡體   English   中英

Google TV配對協議 - Go的SSL握手錯誤(golang)

[英]Google TV Pairing Protocol — SSL Handshake Error with Go (golang)

我正在為Google TV配對協議編寫一個Go包。 但我似乎在解決TLS握手問題。

sock, err := tls.Dial("tcp", "10.8.0.1:9552", &tls.Config{InsecureSkipVerify: true})

該行給了我握手錯誤。 確切的錯誤消息是: remote error: handshake failure 如果我通過curl嘗試相同的主機/端口,它會產生curl: (35) error:14094410:SSL routines:SSL3_READ_BYTES:sslv3警報握手失敗。

有任何想法嗎? Google TV是否期望獲得客戶端證書? 我在任何地方都沒有看到任何對客戶端證書的需求。

如果有人想幫忙搞清楚,請輸入以下代碼: https//github.com/dustywilson/go-polo

README文件有簡單的代碼來檢查它。 您必須知道Google TV電視盒的IP地址,因為這不使用mDNS。 如果你(某人,任何人)運行這個並得到不同的結果,請告訴我。

我已經通過google-tv-remote瀏覽了Google TV遠程代碼。 一個更有用的是google-tv-pairing-protocol ,這是我正在做的事情的等效Java / Android項目。 當然我已經傾倒了那段代碼。 我認為Go本身(不太可能)是一個問題,Go TLS包的問題不知道如何閱讀Google TV的證書(我知道這是一年前的問題),或者我的代碼有問題(通常會最有可能,但我只是沒有看到它。

順便說一句,我在Logitech Revue上測試它,它有一個自簽名的SSL證書。 它沒有任何根源或修改。

當然,我的結果代碼將是開源的。 謝謝你的幫助。

客戶端證書由Java遠程客戶端在運行時生成,並存儲以供將來使用。 查看代碼:

http://code.google.com/p/google-tv-remote/source/browse/src/com/google/android/apps/tvremote/KeyStoreManager.java

您可能遇到了無效的證書。 根據代碼,您需要一個特定的CN。

/ *返回應在新證書中使用的名稱。 *格式為:“CN = anymote / PRODUCT / DEVICE / MODEL / unique identifier”* /

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM