Creating Self-Signed CA Certificate with makecert.exe

10,714

Solution 1

I copied your command into a command prompt and got the same error. However, I retyped the command and it worked. I suspect one of the characters in the name argument "CN=MyCert CA" is a special character, possibly copied from a word processor.

Solution 2

This is an old question, but it would appear that you're using word processor "smart quotes" rather than ASCII double quotes.

So the problem isn't with makecert, but with how you entered the command. The windows command shell, cmd.exe, doesn't see “CN=MyCert CA” as a quoted word. It instead sees two barewords, “CN=MyCert and CA”, with the "smart quotes" being part of the word.

  • The ASCII straight double quote, " has a code point of U+0022 (aka '\x22' in C# or C).
  • The left double "smart" quote", has a code point of U+201C (aka '\u201C' in C#).
  • The right double "smart" quote, has a code point of U+201D (aka '\u201D' in C#).

And thus the error.

Solution 3

You can also get the same error if you don't have CN= in the name.

For example I had this error with -n "My Name" , but it succeeded with -n "CN=My Name"

Share:
10,714
no9
Author by

no9

Updated on June 12, 2022

Comments

  • no9
    no9 almost 2 years

    I am trying to create Self-Signed CA Certificate on 32bit Windows 7 (virtual). The makecert is v7.1 located in C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin>.

    Whenever i try to execute this command (elevated) ...

    makecert.exe -r -n “CN=MyCert CA” -pe -sv MyCert.pvk -a sha1 -len 2048
                 -b 09/04/2012 -e 09/04/2018 -cy authority MyCert.cer
    

    ...I get prompted for password but when i confirm it I get:

    Error: CryptCertStrToNameW failed => 0x80092023 (-2146885597) Failed

    Any help would be apreciated.

    Regards.

  • no9
    no9 over 11 years
    I copied the text from notepad. But i tried several different names for CA (including without space) but did not help. Rewritting the whole command did the trick.
  • Admin
    Admin over 7 years
    For those who found themselves here, like me--if you copypasted from a website, you've probably got unicody curly quotes (like OP--check the quotes around his CN) instead of the correct ascii version: "