2012-03-06 13 views
2

SSLPeerUnverifiedExceptionが発生しました:SSLを使用するサーバー上でホストされているAndroidアプリケーションからWebサービスに接続すると「ピア証明書がありません」 Thawte CAによる証明書。Thawte CAのSSL証明書を使用してWebサービスに接続するとSSLPeerUnverifiedExceptionが発生する

サーバ側では頭がおかしくなっていますが、私がこれを見ているソリューションの大半は、どんな証明書をも信頼しています。 Thawte社CAは私が解決するにはどうすればよいのAndroid

  • のための信頼できるCAであれば、私はチェックしないところどのように/

    1. :ソリューションのほとんどは、2010年、2011年初め

      から私は、特に2つの質問が、持っていますこの問題?

    ありがとう!答えを探している人のために

  • 答えて

    4

    :ありませんでした中間証明書の

    1. 不適切なインストール(:時間の負荷はSO精練やインターネットを過ごした後、私は2つの原因があるかもしれないことを学びましたここでは)
    2. 証明書チェーンの順序が正しくありません(これはここに当てはまります)。

    本当に私を助けた答えは、SOユーザーbdcこのスレッド:Apache HttpClient on Android producing CertPathValidatorException (IssuerName != SubjectName)でした。

    つまり、openssl s_client -connect server.domain.com:443を実行してチェーンの順序を確認することを提案しました。 APIがホストされていたサーバーのドメイン名を使用してMacターミナルでこのコマンドを実行すると、チェーンの順序が正しくないことが示されました。

    注文がサーバー側で修正されたら、もう一度!すべてがA-OKで動作します!

    1

    ここで@Sidと完全に同意します。 SSL例外を回避するためにアンドロイドに偽のクルージーコードを追加しないでください。 SSLの目的を完全に破ります。ルートとあなたのCAの中間証明書を連鎖さを確認してください

    :アンドロイドからTomcatサーバーにHTTPS経由で接続し、誰持つ問題について

    私は秘密鍵を生成するためにCSRをGoDaddyのCAに作成しませんでしたので、キーストアにインポートする前に鍵と証明書をpkcs12に変換しなければなりませんでした。 -chainオプションに注意してください。その重要です。

    openssl pkcs12 -export -out mykey.pks -inkey private_key.key -in domain.crt -CAfile ca_intermed_root_bundle.crt -chain -name alias_name -passout stdin 
    

    (STDINてパスワードを入力してください)

    さて、Javaキーストア

    keytool -importkeystore -deststorepass changeit -destkeypass changeit -destkeystore mystore.keystore -srckeystore mykey.pks -srcstoretype PKCS12 -alias alias_name 
    

    にインポートmykey.pksこのストアは、現在Tomcatの8443コネクタで使用することができます

    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" 
           maxThreads="150" scheme="https" secure="true" 
           clientAuth="false" sslProtocol="TLS" 
           keystoreFile="/path../mystore.keystore" 
           keystorePass="changeit" keyAlias="alias_name" 
           /> 
    

    アンドロイドから接続するとSSLPeerUnverifiedExceptionsが繰り返されていましたが、これは完全にfそれをixed。 最後に、http://www.sslshopper.com/ssl-checker.htmlまたは他のツールを使用して証明書が正しく連結されているかどうかを確認してください。

    +0

    入力のおかげで、AVM! – Sid

    関連する問題