で Microsoft Manifest Generation and Editing Tool (Mage.exe) AWS CloudHSM を使用してファイルに署名する - AWS CloudHSM

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

で Microsoft Manifest Generation and Editing Tool (Mage.exe) AWS CloudHSM を使用してファイルに署名する

注記

AWS CloudHSM は、Windows SDK for .NET Framework 4.8.1 以降に含まれている 64 ビット Mage ツールのみをサポートします。

以下のトピックでは、 で Mage.exe を使用する方法の概要を説明します AWS CloudHSM。

ステップ 1: 前提条件の設定

で Microsoft Mage.exe を使用するには AWS CloudHSM、以下が必要です。

  • Windows オペレーティングシステムが実行されている Amazon EC2 インスタンス。

  • 自前で管理する、またはサードパーティプロバイダーによる認証局 (CA)

  • EC2 インスタンスと同じ Virtual Private Cloud (VPC) に少なくとも 1 つの HSM があるアクティブな AWS CloudHSM クラスター

  • AWS CloudHSM クラスター内のキーを所有および管理するための Crypto User (CU)

  • 未署名のファイルまたは実行可能ファイル

  • Microsoft Windows Software Development Kit (SDK)

Mage.exe AWS CloudHSM で を使用するための前提条件を設定するには
  1. このガイドの「開始方法の開始方法 AWS CloudHSM」セクションの手順に従って、Windows EC2 インスタンスと AWS CloudHSM クラスターを起動します。

  2. 独自の Windows Server CA をホストする場合は、「 で Windows Server を認証機関として設定 AWS CloudHSMする」のステップ 1 と 2 を実行します。それ以外の場合は、公的に信頼されたサードパーティーの CA を使用します。

  3. .NET Framework 4.8.1 以降向けの Microsoft Windows SDK を Windows EC2 インスタンスにダウンロードしてインストールします。

    mage.exe 実行可能ファイルは Windows SDK ツールの一部です。デフォルトのインストール場所は次のとおりです。

    C:\Program Files (x86)\Windows Kits\<SDK version>\bin\<version number>\x64\Mage.exe

これらのステップを完了したら、Microsoft Windows SDK、 AWS CloudHSM クラスター、および CA を使用して署名証明書を作成できます

ステップ 2: 署名用証明書を作成する

EC2 インスタンスに Windows SDK をインストールしたら、これを使用して証明書署名リクエスト (CSR) を生成することができます。CSR は、未署名の証明書であり、署名用に最終的に CA に提出します。この例では、Windows SDK に含まれる certreq 実行可能ファイルを使用して、CSR を生成します。

certreq 実行可能ファイルを使用して CSR を生成するには
  1. Windows EC2 インスタンスに接続します。詳細については、「Amazon EC2 ユーザーガイド」の「インスタンスに接続する」を参照してください。

  2. request.inf という名前のファイルを作成し、次の内容を記述します。Subject 情報をお客様の組織の情報に置き換えます。

    [Version] Signature= $Windows NT$ [NewRequest] Subject = "C=<Country>,CN=<www.website.com>,O=<Organization>,OU=<Organizational-Unit>,L=<City>,S=<State>" RequestType=PKCS10 HashAlgorithm = SHA256 KeyAlgorithm = RSA KeyLength = 2048 ProviderName = "CloudHSM Key Storage Provider" KeyUsage = "CERT_DIGITAL_SIGNATURE_KEY_USAGE" MachineKeySet = True Exportable = False

    各パラメータの説明については、「Microsoft のドキュメント」を参照してください。

  3. certreq.exe を実行して CSR を生成します。

    certreq.exe -new request.inf request.csr

    このコマンドは、 AWS CloudHSM クラスターに新しいキーペアを生成し、プライベートキーを使用して CSR を作成します。

  4. CA に CSR を送ります。Windows Server CA を使用している場合は、次のステップを行います。

    1. CA ツールを開きます。

      certsrv.msc
    2. 新しいウィンドウで、CA サーバーの名前を右クリックします。[すべてのタスク]、[Submit new request (新しいリクエストの送信)] の順に選択します。

    3. request.csr の場所に移動し、[開く] を選択します。

    4. [サーバー CA] メニューから、[保留中のリクエスト] フォルダを表示します。先ほど作成したリクエストを右クリックし、[すべてのタスク] を選択し、 [問題] を選択します。

    5. [発行された証明書] フォルダに移動します。

    6. [開く] を選択して証明書を表示し、[詳細] タブを選択します。

    7. [Copy to File (ファイルにコピー)] を選択して、証明書のエクスポートウィザードを起動します。DER でエンコードされた X.509 ファイルを signedCertificate.cer として安全な場所に保存します。

    8. CA ツールを終了し、次のコマンドを実行して、証明書ファイルを Windows の Personal Certificate Store に移動します。

      certreq.exe -accept signedCertificate.cer

これで、インポートしたファイルを使用して、ファイルに署名することができます。

ステップ 3: ファイルに署名する

Mage.exe とインポートした証明書を取得したため、ファイルに署名できます。証明書の SHA-1 ハッシュ (サムプリント) を把握しておく必要があります。サムプリントにより、Mage.exe は AWS CloudHSMによって検証された証明書のみを使用します。この例では、PowerShell を使用して証明書のハッシュを取得します。

証明書のサムプリントを取得し、それを使用してファイルに署名するには
  1. mage.exe が含まれているディレクトリに移動します。デフォルトの場所:

    C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8.1 Tools\x64
  2. Mage.exe を使用してサンプルアプリケーションファイルを作成するには、次のコマンドを実行します。

    mage.exe -New Application -ToFile C:\Users\Administrator\Desktop\sample.application
  3. 管理者として PowerShell を開き、次のコマンドを実行します。

    Get-ChildItem -path cert:\LocalMachine\My

    出力から ThumbprintKey ContainerProvider の値をコピーします。

    証明書のハッシュは、出力にサムプリント、キーコンテナ、プロバイダーとして表示されます。
  4. 次のコマンドを実行してファイルに署名します。

    mage.exe -Sign -CertHash <thumbprint> -KeyContainer <keycontainer> -CryptoProvider <CloudHSM Key Storage Provider/Cavium Key Storage Provider> C:\Users\Administrator\Desktop\<sample.application>

    コマンドが正常に実行されると、PowerShell より成功のメッセージが返ります。

  5. ファイルの署名を検証するには、次のコマンドを使用します。

    mage.exe -Verify -CryptoProvider <CloudHSM Key Storage Provider/Cavium Key Storage Provider> C:\Users\Administrator\Desktop\<sample.application>