2

Windows MDM を実装しています。この中で、デバイスは PKCS#10 証明書要求である CSR を送信します。

http://certlogik.com/decoderにアクセスしてこの CSR をデコードすると、「CN=B1C43CD0-1624-5FBB-8E54-34CF17DFD3A1\00」という件名が表示されます。

この「\00」は、サブジェクト プロパティから削除したいため、登録時に会社のハブ アプリをインストールできません。

このサブジェクトを「CN=myMDM」などの任意の値に変更したいのですが、CSR のサブジェクト プロパティを変更するにはどうすればよいですか?

4

2 に答える 2

3

証明書のサブジェクトを PKCS#10 (つまり、CSR) のサブジェクトとは異なるものにすることができます。OpenSSL の「req」コマンドの -subj オプションを参照してください。

この能力の背後にある理由については、次のことを考慮してください。CSR は秘密鍵によって署名されています。署名は、CSR の内容 (件名を含む) が変更されていないことを確認するために使用されます。公開鍵は CSR に含まれています。CA は証明書を作成し、CSR サブジェクトの適切な部分を使用します。証明書は、CA が指定したサブジェクトと CSR の公開鍵とともに、CA の秘密鍵によって署名されます。この署名は、証明書の内容が変更されていないことを確認するために使用されます (これには、CA が指定したサブジェクトが含まれます)。

于 2014-04-11T00:31:06.750 に答える
0

CSRは秘密鍵で署名する必要があり、署名には件名が確実に含まれているため、証明書要求を受け取ったら変更することはできません。

そのため、何かを変更した場合は辞任する必要があり、CSR を解析する必要があります。00したがって、基本的には CSR を再構築し、共通名 (CN) を指定するときに、値のある文字 (null ターミネータ文字) を単純に削除する必要があります。

次のオプションが残されています。

  • 上記で説明したように、CSR を正しく生成し、
  • CSR を変更し、ゼロ値のバイトを削除してすべての長さを再計算し、検証をスキップします。
  • CSR の署名検証を検証またはスキップした後、正しいサブジェクトを CSR から除外する特別な証明書作成者を作成します。
于 2013-10-12T11:48:16.427 に答える