КриптоПро CSP  

Кодировки в функциях "КриптоПро CSP 5.0"

Особенности кодировки в функциях

При передаче текстовых строк в различные интерфейсы провайдера и при их получении может возникать вопрос об используемой кодировке. Рекомендации по встраиванию:

Для ядра провайдера (Crypt/CP/CPC) используется кодировка CP_ACP.
Для функций CAPI 2.0 и библиотек cpsuprt.dll / librdrsup.so соглашения в API могут измениться, некоторые детали в таблице ниже.

ФункцияКодировка WindowsКодировка *nix
CryptAcquireContextA
CryptAcquireContextW
CP_ACP подразумевается CP_ACP
CertOpenSystemStore*
CertOpenSystemStoreA
CertOpenSystemStoreW
CP_ACP
CP_ACP
CP_ACP
CP_ACP
CertOpenStore
CertSaveStore
CP_ACP
CP_ACP
CP_UTF8
CP_UTF8
FormatMessage**
FormatMessageA
FormatMessageW
CP_ACP
CP_ACP
CP_ACP
CP_ACP
CertNameToStrA
CertNameToStrW
CP_ACP CP_UTF8
CryptGetProvParam CP_ACP CP_ACP
CertRDNValueToStrA
CertRDNValueToStrW
CP_ACP CP_ACP
CryptVerifySignatureA
CryptVerifySignatureW
CP_ACP CP_ACP
CryptSignHashA
CryptSignHashW
CP_ACP CP_ACP
CryptBinaryToStringA
CryptBinaryToStringW
CP_ACP подразумевается CP_ACP
CryptGetDefaultProviderA
CryptGetDefaultProviderW
CP_ACP подразумевается CP_ACP
CryptStringToBinaryA
CryptStringToBinaryW
CP_ACP подразумевается CP_ACP
CertGetNameStringA
CertGetNameStringW
CP_ACP CP_ACP
*CertOpenSystemStore устаревший символ - только для временной обратной совместимости
**FormatMessage будет объявлен устаревшим и сохранится только для временной обратной совместимости

Согласно документации Microsoft на Windows CP_ACP подразумевает использование текущей установленной по умолчанию кодировки ANSI, для *nix - CP1251.