2010-08-22 10 views
17

En mi organización utilizamos archivos snk con ensamblajes de nombres seguros. Generamos el snk nosotros mismos.snk vs. certificado de firma de código

Además, utilizamos una firma de firma de código en los binarios. Obtenemos el pfx de Verisign.

  • ¿Cuál es la diferencia entre estos dos procesos?
  • ¿No es un problema que el snk no se recibe de Verisign también?

Respuesta

20

El snk y pfx se utilizan para dos propósitos diferentes. El snk se usa para nombrar con fuerza, que usa un par de claves para identificar un ensamblaje de manera única. El pfx es para la firma de código, que es un proceso similar pero que está destinado a evitar la manipulación maliciosa de ensamblados que se distribuyen públicamente. Usando ambos en un ensamblaje, ambos nombres fuertes Y lo firman.

Está bien generar su propio archivo SNK siempre que mantenga segura la clave privada. El archivo PFX que obtiene de Verisign le permite firmar el ensamblaje con una clave protegida por un tercero. Esta es una capa adicional de seguridad que permite a los usuarios de su ensamblado saber que no ha sido alterado.

+1

¿Entonces el snk solo une un par de claves público-privadas a un conjunto, independientemente de la identidad del propietario de la clave, para permitir una referencia fuerte? Esto significa que si yo (un usuario) confío en el exe, puedo confiar en todas las referencias. Y cómo podría confiar en el exe, ¿es allí donde entra en vigencia la firma del código? En este caso, solo debería firmar el exe y no las otras asambleas porque sé que no han sido manipuladas. ¿Es esto correcto? –

+3

La diferencia fundamental es que una firma SNK es realizada por un individuo y admite agregar un ensamblado al GAC. La firma de código está mediada por un tercero confiable y vinculado, como con SSL. La clave privada se conserva y la clave pública publicada por Verisign (en su caso). En cualquier caso, el conjunto se "firma" con la clave privada y se valida con la clave pública. –

+7

Diría que firmar con snk da seguridad de que no se manipula (en virtud de los cheques hash), mientras que firmar con pfx da seguridad de que el código proviene de una fuente determinada (como verifica Verisign cuando se compró el certificado). Además (podría estar equivocado aquí), creo que firmar con pfx hace que firmar con snk sea superfluo. –

Cuestiones relacionadas