makecert、または独自のテスト証明書を生成するために使用できるその他のツールを使用して、キー使用法属性を設定することは可能ですか?
私が興味を持っている理由は、BizTalk Server AS2トランスポートに使用される証明書には、署名にデジタル署名を使用し、暗号化/復号化にデータ暗号化またはキー暗号化を使用する必要があるためです。この機能を試してみたいと思います。
makecertを使用して拡張キー使用属性を設定する方法はわかりますが、キー使用は設定できません。
makecert、または独自のテスト証明書を生成するために使用できるその他のツールを使用して、キー使用法属性を設定することは可能ですか?
私が興味を持っている理由は、BizTalk Server AS2トランスポートに使用される証明書には、署名にデジタル署名を使用し、暗号化/復号化にデータ暗号化またはキー暗号化を使用する必要があるためです。この機能を試してみたいと思います。
makecertを使用して拡張キー使用属性を設定する方法はわかりますが、キー使用は設定できません。
を使用して自己署名証明書を作成し、拡張キー使用法のパラメーターを設定することはできませんが、makecert
Windows で OpenSSL を使用して証明書を生成する方法を使用しようとする手間を省けると思いました。代わりにcertreq
(既に を持っている場合に利用可能makecert
) を使用して、独自の要求を作成し、必要なパラメーターを設定することができます。
たとえば、これはドキュメント暗号化 (1.3.6.1.4.1.311.80.1) の EKU とキー暗号化とデータ暗号化のキー使用法で証明書をセットアップします。
新しいファイルを作成しますMyCert.inf
:
[Version]
Signature = "$Windows NT$"
[Strings]
szOID_ENHANCED_KEY_USAGE = "2.5.29.37"
szOID_DOCUMENT_ENCRYPTION = "1.3.6.1.4.1.311.80.1"
[NewRequest]
Subject = "cn=me@example.com"
MachineKeySet = false
KeyLength = 2048
KeySpec = AT_KEYEXCHANGE
HashAlgorithm = Sha1
Exportable = true
RequestType = Cert
KeyUsage = "CERT_KEY_ENCIPHERMENT_KEY_USAGE | CERT_DATA_ENCIPHERMENT_KEY_USAGE"
ValidityPeriod = "Years"
ValidityPeriodUnits = "1000"
[Extensions]
%szOID_ENHANCED_KEY_USAGE% = "{text}%szOID_DOCUMENT_ENCRYPTION%"
Subject
を必要なものに設定するだけです。
次に実行します。
certreq -new MyCert.inf MyCert.cer
これにより、公開キー (X509 証明書) が生成され、マシン上の現在のユーザーのパーソナル ストアにインストールされます。必要に応じて、そこからエクスポートできます。
これを使用して、テスト用に PowerShell DSC を暗号化するための証明書を生成しました。
詳細: https://technet.microsoft.com/en-us/library/dn296456.aspx#BKMK_New
MakeCert ではキーの使用法を指定できず、拡張キーの使用法のみを指定できます。より広範な証明書を作成するには CA が必要だと思います。
ubuntu サーバーで独自の CA をセットアップできます。 https://www.digitalocean.com/community/tutorials/how-to-create-a-ssl-certificate-on-apache-for-ubuntu-14-04
-ekuオプションを使用して、証明書のキーの使用法を指定できます。
詳細はこちらをご覧ください:http: //msdn.microsoft.com/en-us/library/aa386968 (VS.85).aspx