Deus, bem, isso foi doloroso. Horas se passaram!
Como o Thunderbird diz, confiamos que a CA ateste certificados SSL ... SOMENTE certificados SSL!
Existem opções em openssl.cnf para "keyUsage" e "extendedKeyUsage". Mas eu não consegui fazer com que estes fossem reconhecidos em /etc/ssl/openssl.cnf.
Usando openssl x509 -in mykey.crt -text
, não consegui verificar se essa configuração estava fazendo alguma coisa.
O truque é tornar um local , chamado basic.cnf:
[ req ]
default_bits = 2048
distinguished_name = req_distinguished_name
prompt = no
[ req_distinguished_name ]
C = {Country}
ST = {Provice/State}
L = {City}
O = {Org}
OU = {Org Unit}
CN = [email protected]
emailAddress = [email protected]
Provavelmente pode ser ainda mais despojado que isso. Aparentemente, o pacote padrão com o Ubuntu 14.04 está limitando os usos da chave. Porque com isso, eu posso usar meus encantamentos usuais para fazer chaves e certificados, mas com uma nova opção -config para apontar para aquele arquivo de configuração reduzido:
KEYNAME=test_key
openssl genrsa -des3 -out ${KEYNAME}_private.pem 1024 -config basic.cnf
openssl req -new -key ${KEYNAME}_private.pem -out ${KEYNAME}.csr
openssl x509 -req -days 3650 -in ${KEYNAME}.csr -signkey ${KEYNAME}_private.pem -out ${KEYNAME}.crt
openssl pkcs12 -export -inkey ${KEYNAME}_private.pem -in ${KEYNAME}.crt -out ${KEYNAME}.p12
Em seguida, importando o .crt para o Thunderbird, vejo isso agora:
E tudo fica feliz novamente (depois de importar as novas chaves, etc.)