Como faço para corrigir “Nenhum certificado de assinatura utilizável está disponível” no VBA?

Como faço para corrigir “Nenhum certificado de assinatura utilizável está disponível” no VBA?

Temos um script VBA no Outlook que gera um pop-up ao enviar emails externos. Aparentemente a assinatura do roteiro expirou no fim de semana. A pessoa que assinou não está mais aqui. Vejo o certificado na CA do nosso controlador de domínio, mas não há opção de renovação.

Gerei um certificado de assinatura de código e importei-o para o meu computador, mas o editor VBA continua dizendo No usable signing certificates are available. Eu vejo o certificado na minha loja de certificados. O modelo diz "Assinatura de código" em vez do certificado original "%ORG% Assinatura de código", se isso for importante.

Eu realmente não tenho ideia do que estou fazendo e passei horas vasculhando e pesquisando online para chegar até aqui. Estou em um beco sem saída e preciso de ajuda para assinar novamente. Se houver uma alternativa melhor e mais moderna para obter uma solicitação do usuário para destinatários externos, me avise.

Responder1

Desculpe, não sou um grande especialista aqui, mas ainda tentarei adicionar meus 5 centavos...

Em primeiro lugar, você tentou o certificado autoassinado? É mais fácil de depurar e ajudará você a testar localmente. https://social.technet.microsoft.com/Forums/lync/en-US/6b06b276-4266-4f29-ae22-2a3c86c4238f/certificate-for-digital-signature?forum=outlook

Em seguida, você tem certeza de que importou a chave privada também com o certificado? Muito provavelmente você precisará dela, pelo que entendi o mecanismo de assinatura (desculpe se vou enganá-lo; se você está comprando a ideia de chave privada, por favor, verifique como instalá-la lá:https://security.stackexchange.com/questions/25996/how-to-import-a-private-key-in-windows- você precisará de PFX em vez de CER, caso contrário nenhuma chave privada será importada).

Por último, em qual contêiner do seu armazenamento de certificados você importou seu certificado? Também pode impactar o resultado. https://answers.microsoft.com/en-us/msoffice/forum/all/vba-i-installed-digital-signing-certificate-but/231529b1-8099-4c7b-9bb6-2c36aeba00a4

Etapas para obter certificado para assinatura

  1. No computador de assinatura, abraManage User Certificates
  2. Clique com o botão direito Personal> All Tasks>Request New Certificate
  3. Selecione Active Directory Enrollment Policy>Next
  4. Escolha um Code Signingmodelo e cliqueEnroll

O editor VBA agora deve ver o certificado e permitir que você assine o script.

Se estiver usando o script assinado em um domínio, o certificado precisará ser exportado e adicionado a uma política de grupo para ser importado em cada máquina que usará o script.

Responder2

Consegui corrigir isso importando o certificado por meio da interface Opções/Conteúdo/Certificados da Internet, para os três armazenamentos a seguir: Pessoal, Editores confiáveis, Autoridades de certificação raiz confiáveis.

Anteriormente, eu importava o certificado para todos os três locais por meio de "Gerenciar certificados de computador", para nível de máquina, e "Gerenciar certificados de usuário", para nível de usuário, mas embora o certificado tenha aparecido em todos os seis locais (três locais, máquina , usuário de três locais), o Excel não o reconheceu.

No entanto, passar pela interface de opções da Internet resolveu o problema.

informação relacionada