ALTER CERTIFICATE (Transact-SQL)
Actualizado: 12 de diciembre de 2006
Cambia la clave privada utilizada para cifrar un certificado o agrega una si no la hay. Cambia la disponibilidad de un certificado a Service Broker.
Convenciones de sintaxis de Transact-SQL
Sintaxis
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'
Argumentos
- certificate_name
Nombre único por el que se conoce al certificado en la base de datos.
- FILE ='path_to_private_key'
Especifica la ruta de acceso completa, incluido el nombre del archivo, a la clave privada. Este parámetro puede ser una ruta de acceso local o una ruta de acceso UNC a una ubicación de red. Se obtiene acceso a este archivo dentro del contexto de seguridad de la cuenta del servicio SQL Server. Cuando utilice esta opción, asegúrese de que la cuenta de servicio tiene acceso al archivo especificado.
- DECRYPTION BY PASSWORD ='key_password'
Especifica la contraseña necesaria para descifrar la clave privada.
- ENCRYPTION BY PASSWORD ='password'
Especifica la contraseña utilizada para cifrar la clave privada del certificado en la base de datos. Esta contraseña está sujeta a la directiva de complejidad de las contraseñas. Para obtener más información, vea Directiva de contraseñas.
- REMOVE PRIVATE KEY
Indica que no debe seguir manteniéndose la clave privada en la base de datos.
- ACTIVE FOR BEGIN_DIALOG = { ON | OFF }
Hace que el certificado esté disponible para el iniciador de una conversación de diálogo de Service Broker.
Notas
La clave privada debe corresponderse con la clave pública especificada en certificate_name.
Puede omitir la cláusula DECRYPTION BY PASSWORD si la contraseña en el archivo está protegida mediante una contraseña NULL.
Cuando la clave privada de un certificado que ya existe en la base de datos se importa desde un archivo, esta clave privada se protegerá automáticamente mediante la clave maestra de la base de datos. Para proteger la clave privada con una contraseña, utilice la frase ENCRYPTION BY PASSWORD.
La opción REMOVE PRIVATE KEY quitará de la base de datos la clave privada del certificado. Puede hacer esto cuando el certificado se utilice para comprobar firmas o en escenarios de Service Broker que no necesiten una clave privada. No elimine la clave privada de un certificado que proteja una clave simétrica.
No tiene que especificar una contraseña de descifrado cuando la clave privada se ha cifrado mediante la clave maestra de la base de datos.
![]() |
---|
Haga siempre una copia de archivo de una clave privada antes de eliminarla de una base de datos. Para obtener más información, vea BACKUP CERTIFICATE (Transact-SQL). |
Permisos
Requiere el permiso ALTER en el certificado.
Ejemplos
A. Cambiar la contraseña de un certificado
ALTER CERTIFICATE Shipping04
WITH PRIVATE KEY (DECRYPTION BY PASSWORD = 'pGF$5DGvbd2439587y',
ENCRYPTION BY PASSWORD = '4-329578thlkajdshglXCSgf');
GO
B. Cambiar la contraseña utilizada para cifrar una clave privada
ALTER CERTIFICATE Shipping11
WITH PRIVATE KEY (ENCRYPTION BY PASSWORD = '34958tosdgfkh##38',
DECRYPTION BY PASSWORD = '95hkjdskghFDGGG4%');
GO
C. Importar una clave privada para un certificado que ya existe en la base de datos
ALTER CERTIFICATE Shipping13
WITH PRIVATE KEY (FILE = 'c:\\importedkeys\Shipping13',
DECRYPTION BY PASSWORD = 'GDFLKl8^^GGG4000%');
GO
D. Cambiar la protección de una clave privada, desde una contraseña a la clave maestra de la base de datos
ALTER CERTIFICATE Shipping15
WITH PRIVATE KEY (DECRYPTION BY PASSWORD = '95hk000eEnvjkjy#F%');
GO
Vea también
Referencia
CREATE CERTIFICATE (Transact-SQL)
DROP CERTIFICATE (Transact-SQL)
BACKUP CERTIFICATE (Transact-SQL)
EVENTDATA (Transact-SQL)