Verificar o certificado contra Java armazenamento de certificados via CLI
-
22-07-2019 - |
Pergunta
Como posso verificar uma X509 (ou DER-formatado) certificado contra o armazenamento de certificado Java via linha de comando?
Eu olhei para usando o utilitário keytool
, mas parece que ele só lida com funcionalidade de exibição (sem verificação).
EDIT: Parece que keytool
pode ser usado para verificação, mas somente se uma importação é tentada. Acho que a melhor maneira de pedir a esta pergunta é se ou não uma abordagem mais passiva (como em: não modificando o keystore) está disponível. Obrigado!
Solução
Esta página pode ser simplificar:
http://java.sun.com/docs /books/tutorial/security/toolfilex/rstep1.html
Mas não parece importar mesmo com keytool faz uma verdadeira verificação de um certificado. Não estou vendo nenhuma descrição de verificar a assinatura do certificado de entrada contra a assinatura de outro certificado confiável.
jarsigner irá verificar uma assinatura em um frasco assinado, mas não faz nada para verificar a assinatura no certificado usado para assinar o frasco.
Eu tenho medo que você quer ter de escrever uma ferramenta para fazer a VERIFICAÇÃO, ou olhar para uma ferramenta comercial que faz isso. Gostaria de pensar que alguns dos kits de ferramentas de PKI teria uma ferramenta de verificação de certificado que faria isso.
Outras dicas
Você pode usar keytool
para export
os certificados necessários (aqueles que estão na cadeia para o que você precisa para verificar) a partir do armazenamento de chave Java em X.509 arquivos. Em seguida, concatenar-los juntos em um único arquivo. Finalmente, o uso openssl
para fazer a verificação.
openssl verify -CAfile concatenated-certs.crt cert-to-verify.crt
Nem uma solução perfeita, pois envolve estalar os certificados fora do truststore, mas deve trabalhar dado o que você está começando com.