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

SubjectNameO assunto do certificado como cadeia X.500, por exemplo "CN=Alice Signer, O=Example Corp". Um nome simples sem "=" recebe automaticamente o prefixo "CN="
PFXFileNameO caminho do ficheiro PFX (PKCS#12) a escrever
PFXPasswordA palavra-passe que protege o ficheiro PFX exportado
ValidDaysPeríodo de validade em dias a partir de agora; os valores inferiores a 1 assumem a predefinição 365
KeyBitsComprimento da chave RSA em bits; os valores fora de 1024..16384 utilizam 2048 por predefinição

Valores devolvidos

0Não foi possível criar o certificado (nome do titular ou do ficheiro vazio, ou falha da Windows CryptoAPI)
1Success