Posso gerar minha própria chave privada e certificado da seguinte maneira:
openssl genrsa -out privatekey.pem 2048
openssl req -new -x509 -key privatekey.pem -out g4certificate.pem -days 1095
Copiar e colar as partes do certificado/chave privada em um banco de dados e executar um kit de ferramentas de teste retorna uma troca de chave HMAC bem-sucedida.
No entanto, agora comprei um certificado SSL GlobalSign e tenho o arquivo .pfx.
Como posso extrair a chave privada/certificado RSA equivalente aos usados quando o kit de ferramentas retornou uma troca de chaves bem-sucedida?
Minha tentativa:
Tentei converter o arquivo .pfx em um arquivo .pem usando o seguinte comando:
openssl pkcs12 -nodes -in filename.pfx -out filename.pem
O arquivo .pem resultante contém 3 certificados e uma chave privada com um cabeçalho de '-----BEGIN PRIVATE KEY-----' e não '-----BEGIN RSA PRIVATE KEY-----'.
Tentei copiar e colar a chave privada em um novo documento e salvei-a como privatekey.key. Em seguida, converti-o usando o seguinte comando:
openssl rsa -in privatekey.key -out privatekey_new.key
Isso produz um arquivo com o cabeçalho '-----BEGIN RSA PRIVATE KEY-----', que é como a chave RSA autogerada.
No entanto, ao tentar a troca de chaves, recebo o seguinte erro:
DEBUG [AbstractTest] - Failed:
java.security.InvalidKeyException: Wrong key usage
at javax.crypto.Cipher.init(Cipher.java:1674)
at javax.crypto.Cipher.init(Cipher.java:1580)
Responder1
Uso incorreto de chave
Isso significa que o certificado não pode ser usado para o que você está tentando.