Encontrou! O que eu descrevi é o comportamento normal esperado de openssl. Por padrão, as extensões personalizadas não são copiadas para o certificado.
Para que o openssl copie as extensões solicitadas para o certificado, é necessário especificar copy_extensions = copy
para a assinatura. Em instalações baunilha, isso significa que essa linha deve ser adicionada à seção default_CA
in openssl.cnf
.
No openssl.cnf
que vem com (pelo menos) Centos a linha já está incluída como comentário e carrega o aviso "use com cautela". Os solicitantes podem abusar disso para fazer você emitir um certificado de CA, se não for cuidadoso.