CERTPRIVATEKEY (Transact-SQL)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance
Cette fonction retourne la clé privée d’un certificat au format binaire. Cette fonction accepte trois arguments.
- Un ID de certificat.
- Un mot de passe de chiffrement utilisé pour chiffrer les bits de clé privée retournés par la fonction. Cette approche n’expose pas les clés en texte clair aux utilisateurs.
- Un mot de passe de déchiffrement facultatif. Un mot de passe de déchiffrement spécifié est utilisé pour déchiffrer la clé privée du certificat. Sinon, la clé principale de la base de données est utilisée.
Seuls les utilisateurs qui ont accès à la clé privée du certificat peuvent utiliser cette fonction. Cette fonction retourne la clé privée au format PVK.
Syntaxe
CERTPRIVATEKEY
(
cert_ID
, ' encryption_password '
[ , ' decryption_password ' ]
)
Arguments
certificate_ID
certificate_id du certificat. Obtenez cette valeur à partir de sys.certificates ou à l’aide de la fonction CERT_ID (Transact-SQL). cert_id a le type de données int.
encryption_password
Mot de passe utilisé pour chiffrer la valeur binaire retournée.
decryption_password
Mot de passe utilisé pour déchiffrer la valeur binaire retournée.
Types de retour
varbinary
Notes
Les fonctions CERTENCODED et CERTPRIVATEKEY sont utilisées ensemble pour retourner les différentes parties d’un certificat sous forme binaire.
Autorisations
CERTPRIVATEKEY est disponible publiquement.
Exemples
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');
Consultez CERTENCODED (Transact-SQL), Exemple B, pour obtenir un exemple plus complexe qui utilise CERTPRIVATEKEY et CERTENCODED afin de copier un certificat dans une autre base de données.
Voir aussi
Fonctions de sécurité (Transact-SQL)
CREATE CERTIFICATE (Transact-SQL)Fonctions de sécurité (Transact-SQL)sys.certificates (Transact-SQL)