次の方法で共有


BizTalk Server の証明書に関する既知の問題

このセクションでは、BizTalk Server で使用されるデジタル証明書の管理に関する既知の問題について説明します。

証明書の一般的な問題

証明書失効リストへの接続がない場合、証明書が拒否されます

この問題には、次のエラーが含まれます: "認証エラーが発生しました。 メッセージの署名に使用された証明書を発行した証明機関 (CA) の状態は不明です。"このエラーは、BizTalk Server の MMC (BizTalk Server ユーザーを使用) で表示するときに署名証明書が有効な場合でも発生する可能性があります。

この状態は、受信パイプラインの S/MIME デコーダー コンポーネントで "証明書失効の確認" プロパティが有効になっている場合に発生する可能性があります。 このプロパティが true に設定されている場合、BizTalk Server は証明書失効リスト (CRL) に対してクエリを実行して、受信証明書が取り消されたかどうかを確認しようとします。 証明書自体が失効していないかどうかは関係ありません。 接続の問題が原因で BizTalk Server が対応する CRL にクエリを実行できない場合、証明書は受け入れられません。 このエラーをトラブルシューティングするには、使用した証明書をダブルクリックして証明書のプロパティを表示します。 [詳細] タブのフィールド リストに属性 "CRL 配布ポイント" が表示されます。 この属性には、CA サーバー上の CRL を指す複数の URL が必要です。 BizTalk サーバーは、CRL を取得するために、これらの URL のいずれかにアクセスできる必要があります。 それ以外の場合、失効チェックは失敗し、上記のエラーが投稿されます。

Other People 証明書ストアは、アクセスされるまで初期化されません

この問題では、BizTalk Server 管理者コンソールを使用して送受信ポート/場所をリモートで追加または変更しようとすると、次の証明書ストア エラーが発生します。"証明書ストアを開くことができませんでした"。 "指定されたファイルがシステムで見つかりません。 (システム)"。

BizTalk Server に直接ログオンする場合は、管理コンソールを使用してこれらの成果物を変更できます。

新しくインストールされたコンピューターでは、一度アクセスしない限り、 その他のユーザー証明書 ストアは初期化されません。 グループの構成中に、この 他のユーザー証明書 ストアを初期化できます。その結果、グループ構成が完了したコンピューターではこのエラーは表示されません。

BizTalk Server では、BizTalk グループごとに 1 つの個人証明書のみがサポートされます

BizTalk グループで使用される個人証明書は、BizTalk グループのプロパティで個人証明書の拇印を設定することによって指定されます。 BizTalk グループは、エンタープライズ、部門、ハブ、または別の部署を表すことができます。

AS2 証明書の問題

AS2 デコーダーは、証明書がホストまたは宛先パーティに対して構成されていることを検証しません

AS2 デコーダーは、そのメッセージのプライベート証明書が証明書ストアで構成されている限り、メッセージの暗号化を解除します。 ただし、AS2 デコーダーは、復号化証明書がホストで構成されている証明書と同じであることを検証しません。 受信したメッセージは、複数の証明書で暗号化できます。

証明書が有効でない場合、BizTalk Server はワイヤ形式で保存されたメッセージの暗号化を解除できません

症状:

BizTalk Server は、否認不可データベースにワイヤ形式で保存された受信 AS2 メッセージを復号化できません。

考えられる原因

メッセージの暗号化を解除するために必要な証明書の有効期限が切れているか、失効しています。 これは、AS2 メッセージが否認不可データベースに保存されてから一定期間が経過した場合に発生する可能性が高くなります。 この場合、メッセージの有効な証明書にすぐにアクセスできない可能性があります。

解決策

メッセージを復号化するための有効な証明書を取得します。

AS2 メッセージを復号化できない場合は、証明書を再インポートすることで問題が修正される可能性があります

症状:

AS2 デコーダーは、AS2 メッセージの暗号化を解除しようとしたときに例外を検出し、次のエラーをスローします。

"The AS2 Decoder encountered an exception during processing. Details of the message and exception are as follows:
   AS2-From:"PARTNER" AS2-To:"HOME" MessageID:"<137706.1178060412333@servername>"
   MessageType: "unknown" Exception:"An error occurred when decrypting an AS2 message."
System.ArgumentNullException: Value cannot be null.
Parameter name: PayloadContentType
at Microsoft.BizTalk.Edi.Reporting.Common.Utilities.ValidateArgument(Object o,
String parameterName, Boolean isEmptyStringValidationRequired)
at Microsoft.BizTalk.EdiInt.Reporting.AS2MessageActivity.ValidateParameters()
at Microsoft.BizTalk.EdiInt.Reporting.AS2MessageActivity.Create()"

考えられる原因

AS2 メッセージの暗号化を解除するために使用する証明書は、個人用ストアに再読み込みする必要があります。

解決策

個人用ストアから既存の証明書を削除し、証明書のインポート ウィザードを使用して、個人用ストアに証明書を再インポートします。 これを行うには、個人用ストアの下にある [証明書] フォルダーを右クリックし、[すべてのタスク] をポイントし、[インポート] をクリックします。

インプロセス ホスト インスタンスと分離ホスト インスタンスに対して同じログオンを使用して、個人用ストアが確実に認識されるようにする

個人用証明書ストアは、ログオン資格情報がホスト インスタンスに関連付けられているユーザーのユーザー プロファイルが読み込まれている場合にのみ、メッセージ処理に使用できます。 個人用ストアは、証明書 (ユーザー自身の秘密キー) の署名と暗号化解除に使用されます。 ユーザー プロファイルは、インプロセス ホスト インスタンスに対して既定で読み込まれます。ただし、分離ホスト インスタンスの場合、ユーザー プロファイルは既定では読み込まれません。 分離ホストのユーザー プロファイルをアプリケーションで読み込むことができます。 または、インプロセス ホスト インスタンスと分離ホスト インスタンスに対して同じログオンを使用して、この問題を回避することもできます。

アプリケーションでユーザー プロファイルを読み込む代わりに、空のサービスを作成してプロファイルを読み込むことができます。 空のサービスの作成の詳細については、「方法: Visual Studio ヘルプで Windows サービス (https://go.microsoft.com/fwlink/?LinkId=155149) を作成する」を参照してください。

プロファイルを読み込む空のサービスを作成した後、次の手順に従います。

  1. [ スタート] をクリックし、[ 実行 ] をクリックして [ 実行 ] ダイアログ ボックスを開きます。

  2. [ 実行 ] ダイアログ ボックスで、「 service.msc 」と入力し、 Enter キー を押して Services MMC スナップインを開きます。

  3. 作成したサービスの [プロパティ ] ダイアログ ボックスを開きます。 サービスを右クリックし、[プロパティ] を選択 します

  4. [ ログオン ] タブをクリックし、[ このアカウント] を選択し、分離ホスト インスタンスに使用されるログオン名を入力します。

  5. OK をクリックします。

  6. サービスを手動で開始して、そのログオン ユーザーのユーザー プロファイルを読み込みます。

証明書のキー使用法属性は、証明書の使用と一致する必要があります

AS2 トランスポートに使用される証明書には、使用目的に必要な属性が必要です。 署名と署名の検証を行うには、証明書のキー使用法属性がデジタル署名である必要があります。 暗号化と暗号化解除の場合、証明書のキー使用法属性はデータ暗号化またはキー暗号化である必要があります。 キー使用法属性を確認するには、証明書をダブルクリックし、[証明書] ダイアログ ボックスの [詳細] タブをクリックし、[キー使用法] フィールドをオンにします。

AS2-To プロパティがパーティに対して設定されていない場合、送信 MDN の証明書解決リストが検証されます

送信 MDN の既定の契約では、証明書解決リストの検証が実行されます。 この検証を実行しない場合は、適切な AS2-To パーティ のプロパティが設定されていることを確認して、受信側を解決し、パーティのプロパティを決定できるようにします。 その場合、証明書解決リストの検証を求める既定の契約は使用されません。 AS2 パーティ プロパティの [全般] ページで、証明書失効リストの確認プロパティを無効にする必要もあります。