CertificateRequest.Create Método

Definição

Sobrecargas

Nome Description
Create(X509Certificate2, DateTimeOffset, DateTimeOffset, Byte[])

Cria um certificado usando o assunto, a chave e as extensões opcionais estabelecidas usando o certificado especificado como emissor.

Create(X500DistinguishedName, X509SignatureGenerator, DateTimeOffset, DateTimeOffset, Byte[])

Assina a solicitação de certificado atual para criar um certificado assinado por cadeia ou autoassinado.

Create(X509Certificate2, DateTimeOffset, DateTimeOffset, Byte[])

Cria um certificado usando o assunto, a chave e as extensões opcionais estabelecidas usando o certificado especificado como emissor.

public:
 System::Security::Cryptography::X509Certificates::X509Certificate2 ^ Create(System::Security::Cryptography::X509Certificates::X509Certificate2 ^ issuerCertificate, DateTimeOffset notBefore, DateTimeOffset notAfter, cli::array <System::Byte> ^ serialNumber);
public System.Security.Cryptography.X509Certificates.X509Certificate2 Create(System.Security.Cryptography.X509Certificates.X509Certificate2 issuerCertificate, DateTimeOffset notBefore, DateTimeOffset notAfter, byte[] serialNumber);
member this.Create : System.Security.Cryptography.X509Certificates.X509Certificate2 * DateTimeOffset * DateTimeOffset * byte[] -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Function Create (issuerCertificate As X509Certificate2, notBefore As DateTimeOffset, notAfter As DateTimeOffset, serialNumber As Byte()) As X509Certificate2

Parâmetros

issuerCertificate
X509Certificate2

Uma X509Certificate2 instância que representa a AC (Autoridade de Certificação) emissora.

notBefore
DateTimeOffset

A data e a hora mais antigas em que esse certificado é considerado válido. Normalmente UtcNow, mais ou menos alguns segundos.

notAfter
DateTimeOffset

A data e a hora em que esse certificado não é mais considerado válido.

serialNumber
Byte[]

O número de série a ser usado para o novo certificado. Esse valor deve ser exclusivo por emissor. O valor é interpretado como um inteiro sem sinal de tamanho arbitrário na ordenação de bytes big-endian. O RFC 3280 recomenda limitá-lo a 20 bytes ou menos.

Retornos

Um X509Certificate2 objeto com os valores especificados. O objeto retornado não será declarado HasPrivateKey.

Exceções

issuerCertificate é null.

O issuerCertificate não contém uma chave privada.

-ou-

O tipo de chave de assinatura representado por issuerCertificate não pôde ser determinado.

-ou-

notAfter representa uma data e hora que acontecem antes de notBefore.

-ou-

serialNumber é de comprimento zero ou null.

-ou-

issuerCertificate tem um algoritmo de chave diferente do certificado solicitado.

-ou-

O HasPrivateKey valor para issuerCertificate é false.

issuerCertificate é um certificado RSA e o objeto atual foi criado usando um construtor que não aceita um padding parâmetro.

Não há suporte para o HashAlgorithm valor da propriedade.

Comentários

Esse método não dá suporte ao uso de MD5 ou SHA-1 como o algoritmo de hash para a assinatura de certificado. Se você precisar de uma assinatura de certificado baseada em MD5 ou SHA-1, precisará implementar uma chamada Create(X500DistinguishedName, X509SignatureGenerator, DateTimeOffset, DateTimeOffset, Byte[])e personalizadaX509SignatureGenerator.

Aplica-se a

Create(X500DistinguishedName, X509SignatureGenerator, DateTimeOffset, DateTimeOffset, Byte[])

Assina a solicitação de certificado atual para criar um certificado assinado por cadeia ou autoassinado.

public:
 System::Security::Cryptography::X509Certificates::X509Certificate2 ^ Create(System::Security::Cryptography::X509Certificates::X500DistinguishedName ^ issuerName, System::Security::Cryptography::X509Certificates::X509SignatureGenerator ^ generator, DateTimeOffset notBefore, DateTimeOffset notAfter, cli::array <System::Byte> ^ serialNumber);
public System.Security.Cryptography.X509Certificates.X509Certificate2 Create(System.Security.Cryptography.X509Certificates.X500DistinguishedName issuerName, System.Security.Cryptography.X509Certificates.X509SignatureGenerator generator, DateTimeOffset notBefore, DateTimeOffset notAfter, byte[] serialNumber);
member this.Create : System.Security.Cryptography.X509Certificates.X500DistinguishedName * System.Security.Cryptography.X509Certificates.X509SignatureGenerator * DateTimeOffset * DateTimeOffset * byte[] -> System.Security.Cryptography.X509Certificates.X509Certificate2
Public Function Create (issuerName As X500DistinguishedName, generator As X509SignatureGenerator, notBefore As DateTimeOffset, notAfter As DateTimeOffset, serialNumber As Byte()) As X509Certificate2

Parâmetros

issuerName
X500DistinguishedName

O X500DistinguishedName para o emissor.

generator
X509SignatureGenerator

Um X509SignatureGenerator objeto que representa a autoridade de certificação emissora.

notBefore
DateTimeOffset

A data e a hora mais antigas em que esse certificado é considerado válido. Normalmente UtcNow, mais ou menos alguns segundos.

notAfter
DateTimeOffset

A data e a hora em que esse certificado não é mais considerado válido.

serialNumber
Byte[]

O número de série a ser usado para o novo certificado. Esse valor deve ser exclusivo por emissor. O valor é interpretado como um inteiro sem sinal de tamanho arbitrário na ordenação de bytes big-endian. O RFC 3280 recomenda limitá-lo a 20 bytes ou menos.

Retornos

Um X509Certificate2 objeto com os valores especificados. O objeto retornado não será declarado HasPrivateKey.

Exceções

issuerName é null.

-ou-

generator é null.

notAfter representa uma data e hora que acontecem antes de notBefore.

-ou-

serialNumber é de comprimento zero ou null.

Ocorre um erro durante a operação de assinatura.

O gerador de assinatura requer um valor não padrão para HashAlgorithm, mas esse objeto foi criado sem que um deles fosse fornecido.

Aplica-se a