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 |
| KeyBits | RSA key length in bits; values outside 1024..16384 default to 2048. |
Возвращаемые значения
| 0 | Сертификат создать не удалось (пустой субъект или имя файла, либо сбой Windows CryptoAPI) |
|---|---|
| 1 | Success |