2

次の方法を使用してJavaとAndroidアプリの両方にSSL認証を実装していますが、多くの投稿で、安全ではなく、テスト目的にのみ適していることがわかりました。実稼働環境に SSL 証明書を実装する例を教えてください。

TrustStrategy easyStrategy = new TrustStrategy() {
                @Override
                public boolean isTrusted(X509Certificate[] chain, String authType)
                        throws CertificateException {
                    // eh, why not?
                    return true;
                }
            };

            SchemeRegistry schemeRegistry = new SchemeRegistry();
            SSLContext sslcontext = SSLContext.getInstance("TLS");
            sslcontext.init(null, null, null);
            SSLSocketFactory ssf = new SSLSocketFactory(easyStrategy);
            ssf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);

更新:アクセスしようとしているサーバーが、Web ブラウザー経由で接続すると、自己署名証明書を発行していることがわかりました。ここに私が得たopenssl出力があります:

verify error:num=18:self signed certificate

また、サーバー証明書を示す長いコードも提供します。それを使用して独自の証明書を作成し、アプリケーション内で使用できますか?

4

1 に答える 1

1

あなたの質問を正しく理解できれば、実稼働環境用の SSL 証明書が必要になります。

この目的のために、自分で生成した自己署名証明書を使用することはできません。必要なのは、いくつかの安全な組織によって提供される証明書を購入することです.

試してみたいだけの場合は、Comodoで無料トライアル SSL 証明書を申請できます。これは購入できるものと同じように機能しますが、有効期間は 3 か月のみです。

どのサーバーを実行しているかはわかりませんが、認定を取得したら、それをサーバーにアップロードするだけです。この部分はネットで簡単に見つけられると思います。

于 2015-06-08T08:50:29.563 に答える