CERTPRIVATEKEY (Transact-SQL)

Se aplica a:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Esta función 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 usa para cifrar los bits de las claves privadas que devuelve la función. Este enfoque no expone las claves como texto no cifrado a los usuarios.
  • Una contraseña de descifrado opcional. Se usa una contraseña de descifrado especificada para descifrar la clave privada del certificado. En caso contrario, se usa la clave maestra de base de datos.

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

Sintaxis

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

Nota:

Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.

Argumentos

certificate_ID
certificate_id del certificado. Obtenga este valor de sys.certificates o de la función CERT_ID (Transact-SQL). cert_id tiene el tipo de datos 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 valores devueltos

varbinary

Observaciones

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

Permisos

CERTPRIVATEKEY está disponible públicamente.

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 = '20401031';  
GO  
SELECT CERTPRIVATEKEY(CERT_ID('Shipping04'), 'jklalkaa/; uia3dd');  

Vea el ejemplo B de CERTENCODED (Transact-SQL) para ver un ejemplo más complejo en el que se usa CERTPRIVATEKEY y CERTENCODED para copiar un certificado en otra base de datos.

Vea también

Funciones de seguridad (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)Funciones de seguridad (Transact-SQL)sys.certificates (Transact-SQL)