CreateSelfSignedCertificateA
Segurança e assinaturas
Descrição
O sufixo A indica o ponto de entrada ANSI (char) da DLL; a superfície ActiveX/COM expõe apenas a forma Unicode. O comportamento é idêntico ao de CreateSelfSignedCertificate e os argumentos de cadeia de caracteres são interpretados com base na página de código atual definida por SetAnsiMode
Cria um certificado RSA autoassinado com uma assinatura SHA-256 e exporta-o, incluindo a chave privada, para um ficheiro PFX protegido por palavra-passe. O PFX gerado funciona diretamente com SignFile, SetSignProcessPFXFromFile e os outros pontos de entrada de assinatura baseados em PFX, pelo que é possível desenvolver e testar fluxos de assinatura sem obter um certificado de uma autoridade externa
O certificado é gerado num contentor de chaves temporário, novamente eliminado após a exportação; apenas o ficheiro PFX conserva o material da chave. Os certificados autoassinados destinam-se a testes e documentos internos: os visualizadores PDF assinalam-nos como não fidedignos, salvo se o utilizador os instalar explicitamente
Sintaxe
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);
Parâmetros
| SubjectName | O assunto do certificado como cadeia X.500, por exemplo "CN=Alice Signer, O=Example Corp". Um nome simples sem "=" recebe automaticamente o prefixo "CN=" |
|---|---|
| PFXFileName | O caminho do ficheiro PFX (PKCS#12) a escrever |
| PFXPassword | A palavra-passe que protege o ficheiro PFX exportado |
| ValidDays | Período de validade em dias a partir de agora; os valores inferiores a 1 assumem a predefinição 365 |
| KeyBits | Comprimento da chave RSA em bits; os valores fora de 1024..16384 utilizam 2048 por predefinição |
Valores devolvidos
| 0 | Não foi possível criar o certificado (nome do titular ou do ficheiro vazio, ou falha da Windows CryptoAPI) |
|---|---|
| 1 | Success |