CERTPRIVATEKEY (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure 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 ' ]
)
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)