Compartilhar via


CERTPRIVATEKEY (Transact-SQL)

Retorna a chave privada de um certificado em formato binário. Essa função não utiliza três argumentos.

  • Uma ID de certificado.

  • Uma senha de criptografia que é usada para criptografar os bits da chave privada quando são retornados pela função, para que as chaves não exponham texto não criptografado para os usuários.

  • Uma senha de descriptografia que é opcional. Se uma senha de descriptografia for especificada, ela será usada para descriptografar a chave privada do certificado, caso contrário, será usada a chave mestra do banco de dados.

Apenas usuários que têm acesso à chave privada do certificado poderão usar essa função. Essa função retorna a chave privada em formato PVK.

Sintaxe

CERTPRIVATEKEY 
    (
          cert_ID 
        , ' encryption_password ' 
      [ , ' decryption_password ' ]
    )

Argumentos

  • certificate_ID
    É o certificate_id do certificado. Está disponível em sys.certificates ou usando a função CERT_ID (Transact-SQL). cert_id é tipo int

  • encryption_password
    A senha usada para criptografar o valor binário retornado.

  • decryption_password
    A senha usada para descriptografar o valor binário retornado.

Tipos de retorno

varbinary

Comentários

CERTENCODED e CERTPRIVATEKEY são usados em conjunto para retornar diferentes partes de um certificado em formulário binário.

Permissões

CERTPRIVATEKEY está disponível para public.

Exemplos

CREATE DATABASE TEST1;
GO
USE TEST1
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'Use 5tr0ng P^55Words'
GO
CREATE CERTIFICATE Shipping04 
WITH SUBJECT = 'Sammamish Shipping Records', 
EXPIRY_DATE = '20141031';
GO
SELECT CERTPRIVATEKEY(CERT_ID('Shipping04'), 'jklalkaa/; uia3dd');

Para obter um exemplo mais complexo, que usa CERTPRIVATEKEY e CERTENCODED para copiar um certificado em outro banco de dados, consulte o exemplo B no tópico CERTENCODED (Transact-SQL).

Consulte também

Referência

Funções de segurança (Transact-SQL)

CREATE CERTIFICATE (Transact-SQL)

Funções de segurança (Transact-SQL)

sys.certificates (Transact-SQL)