ADD SIGNATURE (Transact-SQL)

Actualizado: 17 de julio de 2006

Agrega una firma digital a un procedimiento almacenado, una función, un ensamblado o un desencadenador.

Icono de vínculo a temasConvenciones de sintaxis de Transact-SQL

Sintaxis

ADD [ COUNTER ] SIGNATURE TO module_class::module_name 
    BY <crypto_list> [ ,...n ]

<crypto_list> ::=
    CERTIFICATE cert_name
    | CERTIFICATE cert_name [ WITH PASSWORD = 'password' ]
    | CERTIFICATE cert_name WITH SIGNATURE = signed_blob 
    | ASYMMETRIC KEY Asym_Key_Name
    | ASYMMETRIC KEY Asym_Key_Name [ WITH PASSWORD = 'password']
    | ASYMMETRIC KEY Asym_Key_Name WITH SIGNATURE = signed_blob

Argumentos

  • module_class
    Es la clase del módulo al que se agrega la firma. El valor predeterminado para módulos de ámbito de esquema es OBJECT.
  • module_name
    Es el nombre de un procedimiento almacenado, una función, un ensamblado o un desencadenador que se firmará o contrafirmará.
  • CERTIFICATE cert_name
    Es el nombre de un certificado con el que está firmado o contrafirmado el procedimiento almacenado, la función, el ensamblado o el desencadenador.
  • WITH PASSWORD ='password'
    Es la contraseña necesaria para descifrar la clave privada del certificado o la clave simétrica. Esta cláusula sólo se requiere si la clave privada no está protegida por la clave maestra de la base de datos.
  • SIGNATURE = signed_blob
    Especifica el objeto binario grande (BLOB) firmado del módulo. Esta cláusula es útil si desea enviar un módulo sin enviar la clave privada. Si utiliza esta cláusula, sólo se necesitan el módulo, la firma y la clave pública para agregar el objeto binario grande firmado a una base de datos. signed_blob es el propio objeto binario grande en formato hexadecimal.
  • ASYMMETRIC KEY Asym_Key_Name
    Es el nombre de una clave asimétrica con el que está firmado o contrafirmado el procedimiento almacenado, la función, el ensamblado o el desencadenador.

Notas

El módulo que se va a firmar o contrafirmar y el certificado o la clave simétrica utilizada para firmarlo ya deben existir. En el cálculo de la firma se incluyen todos los caracteres del módulo. Esto incluye avances de línea y retornos de carro iniciales.

Un módulo se puede firmar y contrafirmar por diversos certificados y claves simétricas.

La firma de un módulo se quita cuando se cambia el módulo.

Si un módulo contiene una cláusula EXECUTE AS, el Id. de seguridad (SID) de la entidad de seguridad también se incluye como parte del proceso de firma.

ms181700.Caution(es-es,SQL.90).gifAdvertencia:
La firma de módulos sólo se debe utilizar para conceder permisos, nunca para denegarlos ni revocarlos.

Para obtener más información acerca de firmas, vea la vista de catálogo sys.crypt_properties.

Permisos

Requiere el permiso ALTER para el objeto y el permiso CONTROL para el certificado o la clave asimétrica. Si una clave privada asociada está protegida por una contraseña, el usuario también debe tener la contraseña.

Ejemplos

En el siguiente ejemplo se firma el procedimiento almacenado HumanResources.uspUpdateEmployeeLogin con el certificado HumanResourcesDP.

USE AdventureWorks;
ADD SIGNATURE TO HumanResources.uspUpdateEmployeeLogin 
    BY CERTIFICATE HumanResourcesDP;
GO

Vea también

Referencia

sys.crypt_properties (Transact-SQL)
DROP SIGNATURE (Transact-SQL)

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

17 de julio de 2006

Contenido modificado:
  • Se ha corregido el requisito de permisos, se han agregado ensamblados a la lista de entidades que se pueden firmar y se ha corregido la sintaxis.