Informações básicas: estou trabalhando em um servidor OS X e preciso usar certificados do chaveiro com openssl smime para criptografar mensagens em um script bash. Para fazer isso, eu uso o security find-certificate
com a -e
opção de extrair os certificados para um determinado endereço de e-mail do chaveiro do OS X. Isso funciona bem, no entanto, o comando extrai todos os certificados encontrados para esse endereço de e-mail para o arquivo PEM. O arquivo ainda conterá certificados expirados.
Quando uso o arquivo PEM para criptografia de e-mail com openssl smime
, obviamente, apenas o primeiro certificado no arquivo PEM é usado.
Então o que precisa ser feito é selecionar o certificado com a maior data de expiração do arquivo PEM, para que eu possa usar aquele com o openssl, mas como isso pode ser feito?
Se qualquer certificado não expirado for aceitável:
Se você precisar especificamente do último vencimento, não vejo uma maneira fácil de automatizar a comparação de datas, mas isso faz o resto: