テスト用の証明書を作成しようとしていますが、このサイトを使用しています方法:独自のテスト証明書を作成する方法に関するチュートリアルですが、パスワードを作成した後にパスワードを入力すると、コマンドプロンプトで失敗したと表示されます。なぜですか。
私がしたこと:
まず、コマンドプロンプトを開き、次のように入力します。
cd C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin
次に、入力します
makecert -sv myPrivateKeyFile.pvk -n "TestCert" myCertFile.cer -b 01/01/2011 -e 01/01/2015 -r
次に、パスワードを作成し、sencondポップアップボックスにパスワードを入力すると、コマンドプロンプトで失敗したと表示されます
これをもう一度入力すると、今回は最初にパスワードを要求するポップアップが表示され、入力すると次のように表示されます。
エラー:CryptCertStrToNameWが失敗しました=> 0x80092023(-2146885597)
makecert -sv myPrivateKeyFile.pvk -n "TestCert" myCertFile.cer -b 01/01/2011 -e 01/01/2015 -r
このエラーが発生した理由は、実行時にcmdを右クリックしなかったためです。したがって、この問題が発生した場合は、cmdを右クリックして管理者として実行し、問題が解決するかどうかを確認する必要があります。
管理者としてプログラムを実行することで問題を解決しましたが、次のようなLDAPスタイルの証明書の名前も変更する必要がありました(CN = ...):
makecert -sv myPrivateKeyFile.pvk -n "CN=TestCert" myCertFile.cer -b 01/01/2011 -e 01/01/2015 -r
これは私にとってちょっとしたショットガンデバッグでした。 makecert ガイドを読んだ後、これから始めました:
makecert.exe /b 01/01/2014 /e 01/01/2114 /len 256 /m 1200 /n "CN=In-House-Software" /pe /r /sr localMachine Test_Cert.cer
ここには2つのエラーの原因となる欠陥があります。
/e
および/m
重複することは想定されていません。当たり前のように思えますが、彼らはそれを文書化したり、表現力豊かなエラーメッセージを作成したりしませんでした。/len 256
は無効な値でした-低すぎます。これはまた、良いエラーメッセージであまり明白/文書化/表現されているようには見えませんでした。 512
はうまくいきました。フロア値をわざわざ見つけることはしませんでしたが、デフォルトでは1024
使用されている。私はこれをうまく使ってしまいました:
makecert.exe /b 01/01/2014 /e 01/01/2114 /len 512 /pe /r /n "CN=In-House-Software" /sr localMachine Test_Cert.cer
自己署名証明書のCA名を指定したときにもこのエラーが発生しました。つまり、「-cyauthority」オプションと「-r」オプションを指定した場合は、CA名を明示的に指定しないでください。 -nオプションによる名前。
何らかの理由で、Dropboxフォルダーからmakecertを正しく実行できませんでした。したがって、C:\などのソリッドディスクに移動して、再試行してください。