makecert和DSA,DH

时间:2011-04-13 18:05:43

标签: makecert

是否可以创建包含diffie-Hellman公钥的X.509V3证书并使用DSA或ECDSA算法对其进行签名?

我使用makecert

进行此操作

想你很多

1 个答案:

答案 0 :(得分:3)

makecert仅支持DSA,而不支持ECDSA。那是因为它基于Crypto API 1.0,不支持椭圆曲线。 CNG支持椭圆曲线,它取代了CryptoAPI。

以下是makecert命令行的示例,该命令行将使您能够使用DSA根签署DSA证书。

  1. 首先,我们创建一个DSA根证书,用于签署我们的用户DSA证书。
  2. makecert.exe -sp“Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider”-sy 13 -ss ROOT -sv MyDSARootKey.pvk -pe -r -n“CN = DSA Root CA”-cy authority MyDSARootCert .CRT

    这会将根证书放在ROOT存储中,它将创建与之关联的PVK和CRT文件。注意“-r”开关指示自行证书。

    1. 然后,我们生成由此根签名的最终用户证书:
    2. makecert.exe -sp“Microsoft增强型DSS和Diffie-Hellman加密提供程序”-sy 13 -ss MY -sk UserKeyName -pe -n“CN = User Name”-cy end -iv MyDSARootKey.pvk - ic MyDSARootCert.crt -ip“Microsoft Enhanced DSS and Diffie-Hellman Cryptographic Provider”-iy 13 MyUserCert.crt

      这会将用户证书放入MY商店。用户密钥在CSP内生成,而根密钥已放在PVK文件中。如果需要,您还可以告诉makecert使用开关“-sv”为用户创建PVK文件。

      我希望这会有所帮助。 欢呼声,

      Mounir IDRASSI

      IDRIX http://www.idrix.fr