CreateSelfSignedCertificateA

Безопасность и подписи

Описание

Завершающая A обозначает точку входа DLL типа ANSI (char); интерфейс ActiveX/COM предоставляет только форму Unicode. Поведение идентично CreateSelfSignedCertificate, а строковые аргументы интерпретируются с использованием текущей кодовой страницы SetAnsiMode

Создаёт самоподписанный RSA-сертификат с подписью SHA-256 и экспортирует его — вместе с приватным ключом — в защищённый паролем PFX-файл. Такой PFX напрямую работает с SignFile, SetSignProcessPFXFromFile и другими PFX-точками входа, поэтому сценарии подписания можно разрабатывать и тестировать без покупки сертификата во внешнем удостоверяющем центре

Сертификат генерируется во временном контейнере ключей, который после экспорта удаляется; материал ключа сохраняет только PFX-файл. Самоподписанные сертификаты предназначены для тестов и внутренних документов: просмотрщики помечают их как недоверенные, пока пользователь не установит их явно

Синтаксис

Delphi

Function DLCreateSelfSignedCertificateA(InstanceID: Integer; SubjectName, PFXFileName, PFXPassword: PAnsiChar; ValidDays, KeyBits: Integer): Integer;

DLL

int DLCreateSelfSignedCertificateA(int InstanceID, const char * SubjectName, const char * PFXFileName, const char * PFXPassword, int ValidDays, int KeyBits);

Параметры

SubjectNameСубъект сертификата строкой X.500, например "CN=Alice Signer, O=Example Corp"; голое имя без "=" автоматически получает префикс "CN="
PFXFileNameПуть записываемого PFX (PKCS#12) файла
PFXPasswordПароль, защищающий экспортируемый PFX-файл
ValidDaysСрок действия в днях от текущего момента; значения меньше 1 по умолчанию дают 365
KeyBitsRSA key length in bits; values outside 1024..16384 default to 2048.

Возвращаемые значения

0Сертификат создать не удалось (пустой субъект или имя файла, либо сбой Windows CryptoAPI)
1Success