CERTPRIVATEKEY (Transact-SQL)

Devuelve la clave privada de un certificado en formato binario. Esta función toma tres argumentos.

  • Un identificador de certificado.

  • Una contraseña de cifrado que se utiliza para cifrar los bits de clave privada cuando son devueltos por la función, de modo que las claves no son texto sin cifrar expuesto a los usuarios.

  • Una contraseña de descifrado que es opcional. Si se especifica una contraseña de descifrado, se utiliza para descifrar la clave privada del certificado; de lo contrario, se utiliza la clave maestra de base de datos.

Solo los usuarios que tienen acceso a la clave privada del certificado podrán utilizar esta función. Esta función devuelve la clave privada en formato PVK.

Sintaxis

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

Argumentos

  • certificate_ID
    Es el certificate_id del certificado. Está disponible en sys.certificates o utilizando la función CERT_ID (Transact-SQL). cert_id es de tipo int

  • encryption_password
    La contraseña utilizada para cifrar el valor binario devuelto.

  • decryption_password
    La contraseña utilizada para descifrar el valor binario devuelto.

Tipos de valor devuelto

varbinary

Comentarios

CERTENCODED y CERTPRIVATEKEY se usan juntos para devolver diferentes partes de un certificado en formato binario.

Permisos

CERTPRIVATEKEY está disponible para public.

Ejemplos

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 obtener un ejemplo más complejo que utilice CERTPRIVATEKEY y CERTENCODED para copiar un certificado en otra base de datos, vea el ejemplo B del tema CERTENCODED (Transact-SQL).

Vea también

Referencia

Funciones de seguridad (Transact-SQL)

CREATE CERTIFICATE (Transact-SQL)

Funciones de seguridad (Transact-SQL)

sys.certificates (Transact-SQL)