次の方法で共有


信頼された署名に関する FAQ

信頼された署名サービスに関する一般的な質問にへの回答を得てください。

作業の開始

信頼された署名でサポートされている Windows のバージョンは何ですか?

信頼された署名サービスは、一般的なユーザー モード コード整合性 (UMCI) セキュリティ ポリシーをサポートするすべてのバージョンの Windows をサポートします。

署名されたバイナリのサポートは、2021 年 7 月の Windows 向け証明書信頼リスト (CTL) 更新プログラムに追加されました。 一般的なシナリオでは、コンピューターでチェーンからのエンドエンティティ証明書が発生すると、システムはルート証明機関 (CA) 証明書を取得し、信頼ルート ストアに追加します。

信頼された署名に対する Windows サポートの詳細については、「 信頼された署名プログラムの Windows サポート」を参照してください。

Microsoft Entra の API アクセスを信頼された署名に付与するにはどうすればよいですか?

Microsoft Entra 管理者に、アクセスの要求を承認するよう依頼します。 アクセス許可の詳細については、次の記事を参照してください。

リソース プロバイダーとして Microsoft.CodeSigning が表示されない場合はどうすればよいですか?

Microsoft.CodeSigning アプリを登録するには、次の例に示すように、サブスクリプション の [リソース プロバイダー ] ウィンドウに移動します。

Microsoft.CodeSigning リソース プロバイダーの登録のスクリーンショット。

信頼された署名を使用する場合のコストは何ですか?

信頼できる署名を設定する場合のサポート オプションは何ですか?

  • Azure portal でサポート チケットを作成して、Azure サポートを受けることができます。 また、 Microsoft Q&A に質問を投稿したり、関連する質問を検索したり ( タグ Azure Trusted Signing を使用)、 Stack Overflow ( タグ信頼署名を使用) することもできます。

ID 検証

信頼された署名のサブジェクト名が自分の証明書の名前と異なり、MSIX パッケージ名が現在異なる場合はどうなりますか?

  • Windows アプリ MSIX パッケージの場合は、 MSIX 永続 ID のガイダンスに従ってください。

信頼できる署名でカスタム CN またはカスタム O を使用できますか?

  • いいえ。信頼できる署名でカスタム共通名 (CN) またはカスタム組織 (O) を使用することはできません。 現在、信頼された署名サービスはカスタマイズをサポートしていません。 また、証明機関ブラウザー フォーラム (CA/ブラウザー フォーラム) の公的に信頼されたコード署名証明書のコード署名基準要件 (CSBR) に従い、CN 値は常に法人の検証済みの名前 (たとえば Microsoft Corporation) である必要があることに注意してください。

Azure portal の [新しい ID の検証] ボタンが非アクティブの場合はどうすればよいですか?

ID 検証の有効期限が切れた場合はどうすればよいですか?

  • 有効期限までに ID 検証を更新しないと、証明書の更新が停止します。 それらの特定の証明書プロファイルに関連付けられているすべての署名プロセスが停止されます。 信頼された署名サービスを使用して署名を続行するには、別の ID 検証を作成し、適切な証明書プロファイルに関連付けます。 お客様の ID 検証の更新プロセスの開始に役立てるために、ID 検証の有効期限の 60 日前から複数のリマインダーが送信されます。

組織 ID の検証が失敗した場合はどうなりますか?

  • 現在、設立日から 3 年未満の組織はオンボードできず、ID 検証に失敗します。
  • 米国またはカナダを拠点とする組織はオンボードできません。
  • 設立日から 3 年を超える組織の場合は、ID 検証要求の作成時に入力したプライマリ メール アドレスに送信されたメール検証リンクを見逃していないことを確かめてください。 リンクは 7 日後に有効期限が切れます。 メールを見逃した場合、または 7 日以内にメール内のリンクを選択しなかった場合は、新しい ID 検証要求を作成します。
  • ID 検証に失敗し、失敗の理由がメール検証を見逃したことではない場合、Microsoft 検証チームは、提供された情報に基づいてお客様の要求に関する決定を行うことができませんでした。 要求に応じてさらにドキュメントが提供された場合でも、情報を検証できない場合は、信頼できる署名にオンボードできません。 このシナリオでは、未使用のリソースに対して課金されないように、信頼された署名アカウントを削除することをお勧めします。
  • 追加のドキュメントが必要な場合は、3 回の試行をすべて使い果たしました。 そのため、オンボードをさらに進めることはできません。

ID 検証に関するサポートが必要な場合はどうすればよいですか?

  • 信頼できる署名での ID 検証に関する質問については、Azure サポートまたは Microsoft Q&A ( タグ Azure 信頼済み署名を使用) を使用して、お問い合わせください。
  • 注: 進行中の同じエンティティに対して追加の ID 検証要求を作成しても役に立たない。 ID 検証要求を迅速化することはできません。

電子メール検証リンクの有効期限が切れている場合はどうすればよいですか?

  • 7 つの dyas 内で電子メールの検証をクリックできなかった場合は、新しい ID 検証要求を開始する必要があります。 同じ要求で新しいリンクを再送信することはできません。

電子メールの検証で "Failed" と表示され、電子メール検証リンクを受信しなかったと思う場合はどうしますか?

  • 別の ID 検証要求を作成します。 使用するメール アドレスが配布リストではなく、メール アドレスが外部のメール アドレスからリンクを受信できることを確認します。

証明書プロファイル

信頼された署名のサブジェクト名が自分の証明書の名前と異なり、MSIX パッケージ名が現在異なる場合はどうなりますか?

  • Windows アプリ MSIX パッケージの場合は、 MSIX 永続 ID のガイダンスに従ってください。

証明書プロファイルを削除すると、証明書は取り消されますか?

  • 証明書プロファイルを削除しても、以前に発行された証明書を取り消したり、署名を無効にしたりすることはありません。これらは有効なままです。

パブリック信頼またはパブリック信頼テストまたは VBS エンクレーブ証明書プロファイルに OU フィールドを追加できますか?

  • いいえ。 OU は、プライベート信頼とプライベート信頼 CI ポリシー証明書でのみ使用できます。

署名

信頼された署名を使用して署名できるファイルの種類にはどのようなものがありますか?

信頼された署名のコンプライアンス レベルとは何ですか?

FIPS 140-2 レベル 3 (mHSMs) です。

証明書の適切な EKU を ELAM ドライバー リソースに含めるにはどうすればよいですか?

マルウェア対策ユーザーモード サービスを保護するための早期起動マルウェア対策 (ELAM) ドライバーの構成については、以下のガイダンスを参照してください。

「2022 年以降、すべてのユーザー モード マルウェア対策サービスのバイナリは、Microsoft の信頼された署名サービスによって署名される必要があります。 マルウェア対策バイナリに署名するために発行された信頼された署名 Authenticode 証明書は、セキュリティのために 30 日ごとに更新されます。 証明書が更新されるたびに ELAM ドライバーを更新する必要がないように、マルウェア対策ベンダーは、ELAM ドライバー リソース ファイル情報の CertHash 部分に、信頼された署名 PCA 証明書の TBS ハッシュを含めることをお勧めします。 さらに、マルウェア対策ベンダーは、リソース ファイル情報の EKU フィールドに一意の信頼された署名 EKU ID を含める必要があります。 EKU ID はプレフィックス 1.3.6.1.4.1.311.97.* で始まります。」

Microsoft ID 検証済みコード署名 PCA 2021 証明書については、 Microsoft PKI サービス リポジトリを参照してください。

信頼された署名の更新プログラムがないコンピューター (特に /INTEGRITYCHECK のフラグが設定されているバイナリ) で、信頼された署名を使用して署名されたバイナリを実行するとどうなりますか?

  • /INTEGRITYCHECK フラグが設定されている場合、ユーザーの署名は実行時に検証されず、/INTEGRITYCHECK では実行されません。
  • 信頼された署名の更新プログラムがインストールされているかどうかを確認するには、パッケージ化された /INTEGRITYCHECK にリンクされた DLL のいずれかを確認することをお勧めします。 テスト バージョンを使用できます。 そうすることで、プラットフォームの外部の /INTEGRITYCHECK にリンクされたバイナリのチェックを完了し、可用性を判断できます。

Sectigo 証明書の有効期限が切れています。 新しい署名を取得できますか、または信頼された署名を使用する必要がありますか?

現在、Microsoft は、クロス署名証明書を拡張していません。 信頼された署名サービスを使用して署名する必要があります。

信頼された署名は、パートナーがパートナー センターで行う署名とどのように異なりますか?

パートナー センターでの署名はカーネル モードの署名です (信頼された署名の導入に伴う変更はありません)。 信頼された署名を使用してユーザー モード バイナリに署名します。 Windows Security Center (WSC) サービスとやりとりするアプリの場合は、コード整合性ビット (/INTEGRITYCHECK) を含める必要があります。 信頼された署名の署名がないと、WSC に登録できず、Windows Defender が並列で実行されます。

Authenticode 証明書を取得するにはどうすればよいですか?

プロファイルでの署名に使用される Authenticode 証明書がユーザーに付与されることはありません。 すべての証明書はサービス内に安全に格納され、署名時にのみアクセスできます。 パブリック証明書は、サービスが署名するすべてのバイナリに常に含まれます。

タイム スタンプ サービスが正常かどうかを確認するにはどうすればよいですか?

コマンド curl http://timestamp.acs.microsoft.com を実行します。 状態コード 200 が返された場合、タイム スタンプ サービスは正常であり、実行中です。

プライベート信頼署名を行うとエラーが発生します。 どうすればよいですか。

内部エラーが発生した場合は、使用した CN 名が証明書名と一致することを確認します。 パッケージ名を確認し、署名時に Azure portal からサブジェクトの完全な値をマニフェスト ファイルにコピーします。

SignTool に対して状態 "コマンドが成功しました" が表示されますが、デジタル署名を確認してもファイルが署名されていないように見えます。 どうすればよいですか。

署名がデジタル署名プロパティに表示されない場合は、次のコマンドを実行します: .\signtool.exe verify /v /debug /pa fileName。 すべてのファイルの種類に [プロパティ] に [署名] タブが含まれているわけではありません。

SignTool + dlib コマンドを実行するときに、Azure 仮想マシンのポップアップ資格情報を修正するにはどうすればよいですか?

  1. ユーザー割り当てマネージド ID を作成します
  2. ユーザー割り当てマネージド ID を VM に追加します。
    1. VM を選択します。
    2. 左側のメニューで [ ID] を選択し、[ ユーザー割り当て済み] を選択します。
    3. [ 追加] を選択してマネージド ID を追加します。
  3. 信頼された署名証明書プロファイル署名者のロールを持つリソース グループ (またはサブスクリプション) で、ユーザー割り当てマネージド ID をロールに追加してください。 正しいロールを割り当てるには、アクセス制御 (IAM)>ロールの割り当てに移動します。

Google Cloud Platform を使用するときにポップアップ資格情報を修正するにはどうすればよいですか?

  • Google Cloud Platform (GCP) には既定で Azure マネージド ID リソースがないため、 環境資格情報を設定します。 EnvironmentCredential クラスを使用して資格情報を設定します。 次の変数を使用することをお勧めします。

    • Microsoft Entra テナント (ディレクトリ) ID のAZURE_TENANT_ID
    • テナントでのアプリ登録のクライアント (アプリケーション) ID のAZURE_CLIENT_ID
    • アプリ登録用に生成されたクライアント シークレットのAZURE_CLIENT_SECRET
  • クライアント ID とシークレットを作成するには、「 サービス プリンシパルの作成」のガイダンスに従います。

  • クライアント ID とシークレットを作成したら、信頼された署名証明書プロファイル署名者ロールを持つリソース グループ (またはサブスクリプション) に移動し、このアプリをロールに追加します。

信頼された署名アカウントが停止された場合はどうすればよいですか?

サービスの利用規約に従って証明書が誤用または悪用された場合、信頼された署名はアカウントを停止するか、署名証明書を取り消すか、その両方を行います。 このシナリオでは、お客様と直接やり取りし、CA/ブラウザー フォーラム CSBR のガイドラインに従います。

自分のサブスクリプション ID またはテナント ID を変更した場合はどうすればよいですか?

現在、信頼された署名リソースをサブスクリプションやテナント間、またはグループやリソース間で移行することはできません。 テナント ID またはサブスクリプション ID を変更する場合は、すべての信頼された署名リソースを再度作成する必要があります。

信頼された署名で EV 証明書は発行されますか?

いいえ、信頼された署名では、拡張検証 (EV) 証明書は発行されません。 今後、EV 証明書を発行する予定はありません。

MSIX パッケージの署名中に SignTool がループし続けるのはなぜですか?

パッケージ内の各アプリケーション ファイルとマニフェスト ファイルが署名されるため、MSIX 署名では複数回ループ動作が予想されます。

一般的なエラー コードと軽減策

エラー 詳細
400 Azure 認証エラー。 このエラーは、証明書のキャッシュが原因です。 "ExcludeCredentials": ["<include list of credentials to be excluded>"] を JSON ファイルに追加します。 詳細については、「 DefaultAzureCredential クラス (Azure.Identity)」を参照してください。
401 認証されていません。 サインアウトし、もう一度サインインします。
404 構成またはファイアウォール規則に変更が加えられていないことを確認します。
"MsalUiRequiredException" 通常、このエラーはローカル キャッシュが原因で発生します。 エラーは、Azure からキャッシュが更新されると解決します。
すべての条件を満たす証明書は見つかりませんでした。 dlib パス、dlib バージョン、dlib 名、ファイル名、SignTool のバージョンを確認します。 このエラーは、SignTool が信頼された署名証明書を使用する代わりにローカル コンピューターから証明書をプルしようとしていることを示します。
エラー: "SignerSign() に失敗しました。" (-2147024846/0x80070032) 最新バージョンの SignTool を使用していることを確認します。
エラー コード (-2147024885/0x8007000b) MSIX 署名の場合、このエラーはマニフェスト ファイルの発行元が証明書のサブジェクトと一致しないことを示します。 マニフェスト ファイルに一覧表示されている発行元を確認します。
エラー コード (-2147467259/0x80004005) サービス プリンシパル + 証明書ベースの認証を使用する場合は、次の表に示す 「証明書を使用した サービス プリンシパル」の環境変数を確認します。
エラー コードはなく、SignTool は警告なしで失敗します。 関連する .NET ランタイム バージョンがインストールされていることを確認します。
Azure.Identity.CredentialUnavailableException このエラーは 、Azure 外部の環境で発生する可能性があります。 Azure の外部で作業している場合は、マニフェスト ファイルに "exclude ManagedIdentity" を追加することをお勧めします。
403 - 信頼された署名のロールを確認します。
- metadata.jsonファイルで 、信頼された署名アカウント名と信頼された署名証明書プロファイル名を確認します。
- dlib と dlib のパスを確認します。
- https://docs.microsoft.com/en-us/cpp/windows/latest-supported-vc-redist?view=msvc-170 から C++ 再頒布可能パッケージをインストールします。
- .NET バージョン、dlib バージョン、Windows SDK バージョンを確認します。
- ファイルに署名しようとしている ID に信頼された署名のロールが割り当てられているかどうかを確認します。
- 対応する ID 検証の状態が [完了] かどうかを確認します。
- この仮想マシンまたはコンピューターから信頼された署名エンドポイントにアクセスするかどうかを確認します。 別の仮想マシンまたはコンピューターでアクションを実行してみてください。 このエラーは、ネットワークの問題を示している可能性があります。
- プライベート信頼シナリオ 403 の場合: 署名を行うユーザー オブジェクト ID は、Get-azCodeSigningRootCert を呼び出すユーザー オブジェクト ID とは異なります。 適切なオブジェクト ID には、信頼された署名証明書プロファイル署名者のロールが必要です。

コスト管理 + 請求

信頼された署名リソースの使用コストと課金情報を表示するにはどうすればよいですか?

コスト情報を確認するには、Azure portal で、サブスクリプションの概要に移動します。 左側のメニューで、[ コスト管理] を選択します。 詳細については、「 コスト管理」を参照してください。

課金情報を確認するには、サブスクリプションの概要に移動します。 左側のメニューで、[課金] を選択 します。 詳細については、「 課金」を参照してください。

料金は日割りですか、サービスの利用開始時期に関係なく全額請求されますか?

価格設定は日割り計算ではありません。 請求書は、アカウント作成後のサービス利用開始時期に関係なく、アカウント作成時に選択した SKU の全額で生成されます。

署名クォータには何が含まれますか?

署名クォータには、信頼された署名アカウント内のすべての証明書プロファイルにわたるすべての署名アクティビティが含まれます。

信頼された署名サービスからの登録解除

信頼された署名から登録を解除するにはどうすればよいですか?

信頼された署名から登録解除するには、信頼された署名のアカウントを削除します。 アカウントを削除すると、関連する ID 検証および証明書プロファイルも削除されます。 これにより、証明書の更新が停止され、それらの特定の証明書プロファイルに関連付けられている署名プロセスが実質的に停止されます。 ただし、アカウントを削除しても、ファイルの署名に既に使用されていた証明書には影響しません。