我試圖從Android 2.3.4使用內置瀏覽器訪問受SSL保護的我的Web應用程序。錯誤:在Android上未自行簽名的SSL證書的名稱不適用
服務器證書是我使用MAKECERT創建並安裝在服務器上的自簽名證書。 當我嘗試訪問該頁面時,收到來自瀏覽器的錯誤消息,說明The name of the site does not match name on the certificate
。
我已驗證,服務器地址正在加密我的證書的公用名稱(它實際上只是一個IP地址)。
當我嘗試在Android設備上訪問其他使用非自簽名證書保護的網站時,不會彈出消息。
如果我使用桌面上的IE或Chrome訪問同一頁面 - 除了簽名授權信息 - 我不會收到警告,一旦我在受信任的根CA中安裝了證書,證書就會順利地被瀏覽器。
我是否應該認爲該消息實際上是Android拒絕自簽名證書?
我對此有點困惑。
我試圖在證書存儲中安裝證書,但這並沒有改善這種情況。現在我不知道接下來可能會嘗試什麼。
問題是:我應該遵循什麼特別的事情來創建一個Android可以接受的自簽名證書?有沒有人設法得到Android接受的自簽名證書沒有這個警告?
我還能嘗試什麼?
-UPDATE- 布魯諾的回答把我領到了正確的方向,所以我能夠做到前進了一步:我重拍的證書添加SAN(不得不放棄MAKECERT
爲OpenSSL
,下面有instructions from Andy Arismendi)。
現在信息已經消失了,但是我在已經討論過in this SO post的'認證autority不可信'問題中被阻止,所以我仍在努力尋找我的問題的最終解決方案 - 沒有在Android瀏覽器上彈出任何警告。
你知道'com.android.browser'使用什麼嗎?是上面的RFC,還是CA /瀏覽器論壇文檔? ([公開信用證書籤發和管理基準要求](https://cabforum.org/wp-content/uploads/Baseline_Requirements_V1_1_6.pdf)和[EV SSL證書指南](https://cabforum.org/ wp-content/uploads/EV-SSL-Certificate-Guidelines-Version-1.4.5.pdf)) – jww
@noloader,CA/Browser文檔和RFC 2818/6125不是互斥的。 (CA/Browser文檔更多地是關於頒發和驗證證書的程序,而從技術角度來看,RFC 2818的這部分更多地侷限於名稱匹配)。 AFAIK,對於EV證書,CA /瀏覽器基線要求只是使SAN更加嚴格要求。不確定關於'com.android.browser',但它也可能接受非EV證書(在這種情況下,他們不需要符合CA /瀏覽器規範),但它驗證的EV證書肯定必須符合並因此確實有一個SAN)。 – Bruno