p7b extension crear convertir certificado cambiar cryptography certificate code-signing

cryptography - extension - convertir pdf a pfx



Opciones de certificado de firma de código (3)

Me han asignado la tarea de comprar un certificado digital para que mi empresa firme nuestro código. Desarrollamos aplicaciones en el espacio de Microsoft, principalmente WPF o basadas en la Web.

Investigué las opciones y encontré que Comodo tiene un buen precio y es receptivo, y estamos listos para seguir comprando un certificado a través de ellas. Sin embargo, en el formulario de suscripción existen varias opciones de clave privada de las que no estoy muy seguro , a saber:

  1. CSP

    • Proveedor criptográfico de base de Microsoft
    • Proveedor de criptografía de tarjeta base de Microsoft
    • Proveedor criptográfico mejorado de Microsoft v1.0
    • Proveedor criptográfico de software de Microsoft
  2. Tamaño de clave

    • 1024
    • 2048
    • 4096
  3. ¿Exportable?

    • Si no
  4. Usuario Protegido?

    • Si no

Me pregunto qué significa todo esto y cuáles son las mejores opciones para nuestros requisitos. Cualquier consejo / sugerencia sería apreciado

gracias montones Greg


Históricamente, el proveedor criptográfico "base" tenía una limitación artificial en las longitudes de clave, y el proveedor "mejorado" tenía el límite eliminado. Esto permitió a Microsoft cumplir con las leyes de exportación de EE. UU., Eliminando el proveedor mejorado en ciertas versiones.

Aparentemente, con los cambios en la ley de exportación, Microsoft eliminó la limitación del proveedor base, lo que permite longitudes de clave más largas también (pero ha mantenido el nombre de compatibilidad)


Para "la mayoría de los propósitos" se recomiendan las siguientes opciones:

Tamaño de la clave del proveedor criptográfico de Microsoft: 2048 Exportable: Sí Protegido por el usuario: Sí

Para ser sincero, no estoy familiarizado con los diferentes CSP, pero la Base hace el trabajo todas las veces para mí.

El tamaño de clave hace que las claves sean más difíciles de descifrar, pero más de 2048 bits para una clave de corto a mediano plazo (3-5 años) es suficiente (en mi humilde opinión).

Exportable le permite exportar el par de clave privada / certificado, ¡esencial para realizar una copia de seguridad!

Protegido por el usuario significa que debe ingresar una contraseña cada vez que desee usar el certificado, muy recomendable para evitar la firma accidental o maliciosa de código con su certificado.

Espero que esto ayude.


Con respecto al "Proveedor de criptografía de software de Microsoft", creo que debería ser "sólido" (no "software").

En la práctica, donde trabajo, la base proporciona una longitud de clave de 512 bits (que ya no es compatible o no funciona en los servidores de MS después de un parche reciente, lea en KB2661254). Desea al menos 1024, pero 2048 es una mejor opción.

Cuidado: la clave privada exportable se desea para realizar copias de seguridad y / o traer a otro servidor (y se requiere para firmar código / scripts, creo), pero introduce la posibilidad de que caiga en las manos equivocadas, con lo cual se pueden firmar y ejecutar scripts no deseados en tus servidores una vez que confías en ese certificado ¡Tenga mucho cuidado en dónde / cómo lo almacena y use una contraseña segura!

Verificación doble: lo más probable es que necesite instalar Trusted Root CA Cert (la CA que emitió el certificado de firma de código) y su propio certificado en "Editores de confianza" para que se ejecuten los scripts de PowerShell firmados.