3

相互認証を使用して HTTPS 経由で通信するサーバー側で restlet を使用して iPad と通信する Java Web サービスを作成しました。このガイドを使用して 2 つの .jks キーストアを生成しました

http://www.herongyang.com/JDK/ssl_client_auth.html

テスト目的でJavaでクライアントを実装しましたが、すべてうまくいきました。

ios で .jks 形式を使用することはできないと思いますので、ios と互換性を持たせるために client.jks を pkcs12 ファイルに変換する必要がありますか?

これに関する情報を見つけるのに苦労しています。

ありがとう!

4

2 に答える 2

1

.jks を pkcs12 に変換することは、良い賭けのように思えます。iOS プロビジョニング ポータルによって生成された証明書は、(キーチェーン アクセスによって) pkcs12 形式にエクスポートできるため、この形式が iOS と互換性があると想定しても安全です。

keytoolを使用して jks を pkcs12 に変換できます。私はそれを逆方向に使用しました (Apple から取得した pkcs12 ファイルを jks に変換しました)。この場合も問題なく動作するはずです。

このコマンドはトリックを行う必要があります:

keytool -importkeystore -srckeystore input.jks -destkeystore output.p12 -srcstoretype JKS -storetype PKCS12
于 2013-04-19T14:47:12.703 に答える
1

私があなたの状況を正しく理解していれば、.jks を変更する必要はまったくないはずです。アプリケーションの KeyStore は、システムで使用される証明書の単なるコンテナーです。IOS で証明書の統合を実現するには、クライアントと CA 証明書をローカル システムのキー チェーンに追加する必要がある場合があります (チェックアウト: iOS: キーチェーンに SSL 証明書を事前にインストールする - プログラムによる) が、JKS 自体は変更なしで他のプラットフォームに転送する必要があります。必要。

また、iOS でキーストアを使用して Apple プッシュ通知を行う例を次に示します。iOS プッシュ通知 - JavaPNS - keystore.p12 ファイルのセキュリティ この人物とまったく同じ方法で (ロードされたストアではなくローカルの p12 を使用して) 実行したい場合は、次の手順に従ってください: .jks を p12 に変換する

これらのファイルの違いの詳細については、次を確認してください: .keystore ファイルと .jks ファイルの違い

あなたのプロジェクトの幸運を祈ります。

于 2013-04-19T14:47:28.553 に答える