IIS経由とJavaアプリケーション経由)の2つのメカニズムでWebページを配信するアプリケーション(Cognos)があります。これらの両方でSSLを有効にする必要があります。IIS完了しました。現在、Javaアップルに取り組んでいます。
IIS証明書は、IISで証明書要求を作成し、それをCAに送信することによって生成されました。彼らは、インストールした証明書をIISに返しました。 HTTPSを使用して、ブラウザでこれらのページにアクセスできます。
これと同じ証明書をJavaアプリケーション証明書ストアにインポートしようとしましたが、アプリケーション固有のエラーが発生しました。
これは、アプリケーションの特別なコマンドラインツールを使用して行われました。
しかし、基本的には、エイリアスencryptionの下にある既存の署名されていない証明書を署名された証明書に置き換えようとしているように見えます。
提供されているGUIツールを使用したプロセスを示すページは次のとおりです
http://www-01.ibm.com/support/docview.wss?uid=swg22004239
私の問題は、証明書がすでにCAから返されていることと、このツールで要求を生成しなかったことです。
有効な証明書を持っていますが、要求がこのキーストアから生成されたと想定しているため、これらの手順に従うことができません。
プロセスを経て、Cognos証明書ストアからCSRを生成し、それをCAに送信して、同じHostの別の証明書を取得する必要があるようです。 )、ただし元のCSRは異なります。
これは、同じホストに対して2つの証明書があることを意味しますが、これは私には意味がありません。
主に:
編集:
これを調査し続けると、リクエストが生成されると、キーストアに秘密キーが保存されることがわかります。したがって、問題は実際には2つのキーストアがあることではないと思います。問題は、2番目のキーストアで元のキーストアの秘密キーを再利用する方法がわからないことです。
CAは、 複数のクライアントアクセス または 単一のホスト の各ドメインの単一の証明書の要求を承認できます(仮想ホストを使用してそれぞれを割り当てる方法を示します)
2番目の質問に答えるには、証明書のエクスポートとインポートの方法に関する別の同様の質問に対する この応答 を参照してください。
キーと証明書の両方をIISからエクスポートする必要があります。これをPKCS7ファイルにエクスポートできるはずです。 keytool
を使用してこれをJavaキーストアにインポートします(必要に応じてPKCS7ファイルを使用することもできます)。
IISがアプレットを配信している場合、アプレットのサーバー証明書は必要ありません。アプレットの配信に別のサーバーを使用している場合は、そのサーバーにキーをインポートする必要があります。
あなたの問題はアプレットへの署名にあると思います。キーは、コード署名に使用できるものとしてフラグが立てられていない可能性があります。 keytool
などのツールまたはブラウザを使用して、証明書にフラグを表示します。サーバーとコード署名の両方に役立つ証明書を持つことができます。
編集:両方の署名コードに適した証明書があるようです。 (アプレットに署名する必要があります。)また、暗号化(HTTTPS)にも有効であるように見えます。 HTTPSで使用する場合は、使用するすべてのドメインのサブジェクト代替名が必要です。これにより、証明書がドメイン用であることを検証できます。
通常、アプレットをサーバーとして使用することはありません。追加のクラスを探すために、ロード元のサーバーへの接続を開く場合があります。また、他のサーバーへの追加の接続を開いている可能性もあります。最近のブラウザでは、アプレットに必要なアクセス権を指定して、ユーザーがアプレットに許可するかどうかを確認できるようにする必要があります。
keytool -importkeystore -srckeystore mypfxfile.pfx -srcstoretype pkcs12
-destkeystore clientcert.jks -deststoretype JKS
これにより、pfxがキーストアにインポートされます。前回pfxをインポートしなければならなかったときに使用したものでした