ALTER CERTIFICATE (Transact-SQL)
Mis à jour : 12 décembre 2006
Modifie la clé privée utilisée pour chiffrer un certificat ou en ajoute une si aucune clé n'est présente. Affecte à un certificat la disponibilité Service Broker .
Conventions de la syntaxe de Transact-SQL
Syntaxe
ALTER CERTIFICATE certificate_name
REMOVE PRIVATE KEY
|
WITH PRIVATE KEY ( <private_key_spec> [ ,... ] )
|
WITH ACTIVE FOR BEGIN_DIALOG = [ ON | OFF ]
<private_key_spec> ::=
FILE = 'path_to_private_key'
|
DECRYPTION BY PASSWORD = 'key_password'
|
ENCRYPTION BY PASSWORD = 'password'
Arguments
- certificate_name
Nom unique sous lequel le certificat est connu dans la base de données.
- FILE ='path_to_private_key'
Spécifie le chemin d'accès complet, y compris le nom du fichier, à la clé privée. Ce paramètre peut être un chemin d'accès local ou un chemin d'accès UNC à un emplacement réseau. L'accès au fichier a lieu dans le contexte de sécurité du compte de service SQL Server. Lorsque vous utilisez cette option, vous devez vérifier que le compte de service a accès au fichier spécifié.
- DECRYPTION BY PASSWORD ='key_password'
Spécifie le mot de passe exigé pour déchiffrer la clé privée.
- ENCRYPTION BY PASSWORD ='password'
Spécifie le mot de passe utilisé pour chiffrer la clé privée du certificat dans la base de données. Ce mot de passe est soumis aux règles de complexité des mots de passe. Pour plus d'informations, consultez Stratégie de mot de passe.
- REMOVE PRIVATE KEY
Spécifie que la clé privée ne doit pas être conservée dans la base de données.
- ACTIVE FOR BEGIN_DIALOG = { ON | OFF }
Met le certificat à disposition de l'initiateur d'une conversation Service Broker .
Notes
La clé privée doit correspondre à la clé publique spécifiée par certificate_name.
Vous pouvez omettre la clause DECRYPTION BY PASSWORD si le mot de passe dans le fichier est protégé par un mot de passe vide.
Lorsque la clé privée d'un certificat qui existe déjà dans la base de données est importée à partir d'un fichier, elle est automatiquement protégée par la clé principale de la base de données. Pour protéger la clé privée avec un mot de passe, utilisez la clause ENCRYPTION BY PASSWORD.
L'option REMOVE PRIVATE KEY supprime de la base de données la clé privée du certificat. Vous pouvez faire cela lorsque le certificat sera utilisé pour vérifier des signatures ou dans des scénarios Service Broker qui n'exigent pas une clé privée. Ne supprimez pas la clé privée d'un certificat qui protège une clé symétrique.
Il n'est pas nécessaire de spécifier un mot de passe de déchiffrement lorsque la clé privée est chiffrée à l'aide de la clé principale de la base de données.
Important : |
---|
Effectuez toujours une copie de la clé privée avant de la supprimer de la base de données. Pour plus d'informations, consultez BACKUP CERTIFICATE (Transact-SQL). |
Autorisations
Nécessite l'autorisation ALTER sur le certificat.
Exemples
A. Modification du mot de passe d'un certificat
ALTER CERTIFICATE Shipping04
WITH PRIVATE KEY (DECRYPTION BY PASSWORD = 'pGF$5DGvbd2439587y',
ENCRYPTION BY PASSWORD = '4-329578thlkajdshglXCSgf');
GO
B. Modification du mot de passe utilisé pour chiffrer la clé privée
ALTER CERTIFICATE Shipping11
WITH PRIVATE KEY (ENCRYPTION BY PASSWORD = '34958tosdgfkh##38',
DECRYPTION BY PASSWORD = '95hkjdskghFDGGG4%');
GO
C. Importation d'une clé privée pour un certificat déjà présent dans la base de données
ALTER CERTIFICATE Shipping13
WITH PRIVATE KEY (FILE = 'c:\\importedkeys\Shipping13',
DECRYPTION BY PASSWORD = 'GDFLKl8^^GGG4000%');
GO
D. Remplacement de la protection de la clé privée par mot de passe par une protection par clé principale de la base de données
ALTER CERTIFICATE Shipping15
WITH PRIVATE KEY (DECRYPTION BY PASSWORD = '95hk000eEnvjkjy#F%');
GO
Voir aussi
Référence
CREATE CERTIFICATE (Transact-SQL)
DROP CERTIFICATE (Transact-SQL)
BACKUP CERTIFICATE (Transact-SQL)
EVENTDATA (Transact-SQL)