Compartir a través de


Método SignedData.CoSign

[El método CoSign está disponible para su uso en los sistemas operativos especificados en la sección Requisitos. En su lugar, use la clase SignedCms en el espacio de nombres System.Security.Cryptography.Pkcs .]

El método CoSign crea una firma digital en contenido firmado previamente.

Sintaxis

SignedData.CoSign( _
  [ ByVal Signer ], _
  [ ByVal EncodingType ] _
)

Parámetros

Firmante [in, opcional]

Referencia al objeto Signer del firmante de los datos. El objeto Signer debe tener acceso a la clave privada del certificado usado para firmar. Este parámetro puede ser NULL; para obtener más información, vea Comentarios.

EncodingType [in, optional]

Valor de la enumeración CAPICOM_ENCODING_TYPE que indica cómo se van a codificar los datos firmados. El valor predeterminado es CAPICOM_ENCODE_BASE64. Este parámetro puede ser uno de los valores siguientes.

Valor Significado
CAPICOM_ENCODE_ANY
Este tipo de codificación solo se usa cuando los datos de entrada tienen un tipo de codificación desconocido. Si este valor se usa para especificar el tipo de codificación de la salida, se usará CAPICOM_ENCODE_BASE64 en su lugar. Introducido en CAPICOM 2.0.
CAPICOM_ENCODE_BASE64
Los datos se guardan como una cadena codificada en base64.
CAPICOM_ENCODE_BINARY
Los datos se guardan como una secuencia binaria pura.

 

Valor devuelto

Este método devuelve una cadena que contiene los datos codificados y firmados.

Si se produce un error en este método, se producirá un error. El objeto Err contendrá información adicional sobre el error.

Comentarios

Importante

Cuando se llama a este método desde un script web, el script debe usar la clave privada para crear una firma digital. Permitir que los sitios web que no son de confianza usen su clave privada es un riesgo de seguridad. Cuadro de diálogo que pregunta si el sitio web puede usar la clave privada aparece cuando se llama por primera vez a este método. Si permite que el script use la clave privada para crear una firma digital y seleccione "No volver a mostrar este cuadro de diálogo", el cuadro de diálogo ya no aparecerá para ningún script dentro de ese dominio que use la clave privada para crear una firma digital. Sin embargo, los scripts fuera de ese dominio que intentan usar la clave privada para crear una firma digital seguirán provocando que aparezca este cuadro de diálogo. Si no permite que el script use la clave privada y seleccione "No volver a mostrar este cuadro de diálogo", los scripts de ese dominio se rechazarán automáticamente la capacidad de usar la clave privada para crear firmas digitales.

 

No se garantiza que los cosignadores estén en ningún orden determinado.

Los resultados siguientes se aplican al valor del parámetro Signer :

  • Si el parámetro Signer no es NULL, este método usa la clave privada a la que apunta el certificado asociado para cifrar la cosignature. Si la clave privada a la que apunta el certificado no está disponible, se produce un error en el método.
  • Si el parámetro Signer es NULL y hay exactamente un certificado en el almacén my CURRENT_USER que tiene acceso a una clave privada, ese certificado se usa para crear la cosignature.
  • Si el parámetro Signer es NULL, el valor de la propiedad Settings.EnablePromptForCertificateUI es true y hay más de un certificado en la CURRENT_USER mi almacén con una clave privada disponible, aparece un cuadro de diálogo que permite al usuario seleccionar qué certificado se usa.
  • Si el parámetro Signer es NULL y la propiedad Settings.EnablePromptForCertificateUI es false, se produce un error en el método.
  • Si el parámetro Signer es NULL y no hay ningún certificado en la CURRENT_USER mi almacén con una clave privada disponible, se produce un error en el método .

Requisitos

Requisito Value
Redistribuible
CAPICOM 2.0 o posterior en Windows Server 2003 y Windows XP
Archivo DLL
Capicom.dll

Consulte también

Objetos de criptografía

SignedData