You may receive the "The keyset is not defined" error message when the provider name of a CSP contains extended characters (840784)
The information in this article applies to:
- the operating system: Microsoft Windows XP
- the operating system: Microsoft Windows XP SP1
SYMPTOMSIf you try to establish a virtual private network (VPN) connection by using a smart card where the provider name of a custom Cryptographic
Service Provider (CSP) contains extended characters, you may receive the following error message:
Error 0x80090019: The keyset is not defined CAUSEThis behavior is caused when the provider name of the CSP is
converted to Unicode characters by using the MultiByteToWideChar function that is present in the kernel32.dll file. The extended characters in the provider name may be lost during this conversion, and the provider name is converted incorrectly.RESOLUTIONMake sure that the name of the CSP contains only ASCII characters.STATUS This behavior is by design.MORE INFORMATIONGenerally, the MultiByteToWideChar function accepts CP_UTF8 as an input format. The CPGetProvParam function returns the data about the CSP that is passed to the MultiByteToWideChar function. When the CPGetProvParam function returns
a format other than CP_UTF8, the returned
provider name is incorrectly converted.
The Microsoft Crypto API does not support Unicode very well.
Also, there is no mechanism to return the code page that the CSP uses. Therefore, the behavior of the CPGetProvParam function may be inconsistent when it is used.REFERENCESFor additional information, visit the following Microsoft Developer Network (MSDN) Web sites:
Modification Type: | Major | Last Reviewed: | 6/25/2005 |
---|
Keywords: | kberrmsg kbProvider kbCrypt kbconvert kbtshoot kbprb KB840784 kbAudDeveloper |
---|
|