2017-09-21 58 views
1

我已經設置了gemfire.properties,使Web組件需要SSL,使用ssl-enabled-components=web並設置密鑰庫。定位器和服務器開始正常工作,GFSH連接到JMX管理器。但是,當我嘗試啓動Swagger UI時,我得到了ERR_SSL_VERSION_OR_CIPHER_MISMATCH。它發生在配置爲ssl-ciphers=ssl-protocols=或設置爲any ...使用SSL獲取geode REST API

那麼Apache Geode所需的REST API密碼是什麼?由於

+0

我試着使用TLS_DHE_DSS_WITH_AES_128_CBC_SHA256爲默認值,同樣的錯誤,我不能讓揚鞭瀏覽器與SSL合作啓用的Geode ... – rupweb

+0

答案是TLS_RSA_WITH_AES_256_CBC_SHA,這將改變錯誤ERR_SSL_PROTOCOL_ERROR所以什麼是最好的協議使用?! – rupweb

+0

您在後端使用哪個版本的JDK以及前端使用哪個瀏覽器/操作系統? –

回答

3

我用下面創建一個基本的測試證書此:

keytool -genkeypair -alias self -dname "CN=trusted" \ 
    -validity 3650 -keypass password -keystore ./trusted.keystore \ 
    -storepass password -storetype JKS 

它沒有在你所描述的方式。我重新創建了證書並使用了與-keyalg EC不同的密鑰算法,然後開始工作。我會看看我能否在某個時候給出更詳細的解釋。

UPDATE:

我使用的是Mac OS和我/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home/jre/lib/security/java.security文件包含證書的下列限制:

jdk.certpath.disabledAlgorithms=MD2, MD5, RSA keySize < 1024, \ 
    DSA keySize < 1024, EC keySize < 224 

隨着-keyalg EC,生成的證書與SHA256withECDSA簽約,但是不選擇它與SHA1withDSA簽署,所以不能接受。

+0

哇,很好的工作,我會嘗試和更新,謝謝:) – rupweb

+0

所以這是產生證書的方式......它必須與'-keyalg EC'和https://geode.apache.org /docs/guide/12/managing/security/ssl_example.html需要更新! – rupweb

+0

我們現在有一個使用SHA256withRSA簽名的Comodo可信SSL證書,但是同樣的錯誤再次出現。 Geode託管在Win 2012服務器上。我們使用「-keyalg EC」或「-keyalg RSA」將密鑰導入密鑰庫,並且與上面相同的錯誤... – rupweb

0

對於簽名的SSL證書我不得不使用OpenSSL生成一個PFX文件通過this process去,然後this process導入PFX到Java密鑰庫,與-keyalg EC標誌。 Swagger然後使用HTTPS正常工作。