¿Cómo soluciono "No hay certificados de firma utilizables disponibles" en VBA?

¿Cómo soluciono "No hay certificados de firma utilizables disponibles" en VBA?

Tenemos un script VBA en Outlook que genera una ventana emergente al enviar correos electrónicos externos. Al parecer, la firma del guión expiró durante el fin de semana. La persona que lo firmó ya no está aquí. Veo el certificado en la CA de nuestro DC pero no hay opción para renovarlo.

Generé un certificado de firma de código y lo importé a mi computadora, pero el editor VBA sigue diciendo No usable signing certificates are available. Veo el certificado en mi tienda de certificados. La plantilla dice "Firma de código" en lugar del certificado original "%ORG% Firma de código" si eso es importante.

Realmente no tengo idea de lo que estoy haciendo y he pasado horas investigando en línea para llegar hasta aquí. Estoy en un callejón sin salida y me vendría bien un poco de ayuda para volver a firmar esto. Si existe una alternativa mejor y más moderna para obtener un mensaje de usuario para destinatarios externos, hágamelo saber.

Respuesta1

Lo siento, no soy un gran experto en esto, pero aun así intentaré sumar mis 5 centavos...

En primer lugar, ¿ha probado el certificado autofirmado? Es más fácil de depurar y le ayudará a realizar pruebas localmente. https://social.technet.microsoft.com/Forums/lync/en-US/6b06b276-4266-4f29-ae22-2a3c86c4238f/certificate-for-digital-signature?forum=outlook

A continuación, ¿está seguro de que también ha importado la clave privada con el certificado? Lo más probable es que la necesites, hasta donde yo entiendo el mecanismo de firma (perdón si te engaño; si estás comprando la idea de la clave privada, por favor revisa cómo instalarla allí:https://security.stackexchange.com/questions/25996/how-to-import-a-private-key-in-windows(Necesitará PFX en lugar de CER; de lo contrario, no se importará ninguna clave privada).

Por último, ¿en qué contenedor de su almacén de certificados importó su certificado? También podría afectar el resultado. https://answers.microsoft.com/en-us/msoffice/forum/all/vba-i-installed-digital-signing-certificate-but/231529b1-8099-4c7b-9bb6-2c36aeba00a4

Pasos para obtener el certificado para firmar

  1. En la computadora firmante, abraManage User Certificates
  2. Haga clic derecho Personal> All Tasks>Request New Certificate
  3. Seleccione Active Directory Enrollment Policy>Next
  4. Elija una Code Signingplantilla y haga clicEnroll

El editor de VBA ahora debería ver el certificado y permitirle firmar el script.

Si utiliza el script firmado en un dominio, será necesario exportar el certificado y luego agregarlo a una política de grupo para importarlo en cada máquina que utilizará el script.

Respuesta2

Pude solucionar este problema importando el certificado a través de la interfaz Opciones de Internet/Contenido/Certificados, en las siguientes tres tiendas: Personal, Editores de confianza y Autoridades de certificación raíz de confianza.

Anteriormente, había importado el certificado en las tres ubicaciones a través de "Administrar certificados de computadora", para el nivel de máquina, y "Administrar certificados de usuario", para el nivel de usuario, pero aunque el certificado aparecía en las seis ubicaciones (tres ubicaciones de máquina , usuario de tres ubicaciones), Excel no lo reconoció.

Sin embargo, pasar por la interfaz de usuario de Opciones de Internet funcionó.

información relacionada