Check the consistency of an EC or RSA private key.
Check the consistency of an unencrypted RSA private key.
$ openssl rsa -in rsa_key_dec.pem -noout -check
RSA key ok
Check the consistency of an encrypted RSA private key.
$ openssl rsa -in rsa_key_enc.pem -passin pass:keypass -noout -check
RSA key ok
Check the consistency of an unencrypted EC private key.
$ openssl ec -in ec_key_dec.pem -noout -check
read EC key EC Key valid.
Check the consistency of an encrypted EC private key.
$ openssl ec -in ec_key_enc.pem -aes256 -passin pass:keypass -noout -check
read EC key EC Key valid.
You will get an error and in case something is wrong.
$ openssl ec -in ec_key_enc_err.pem -aes256 -passin pass:keypass -noout -check
read EC key unable to load Key 140493977212288:error:09091064:PEM routines:PEM_read_bio_ex:bad base64 decode:../crypto/pem/pem_lib.c:943:
You can use exit code to detect a problem.
$ echo $?
1
The same situation goes for incorrect password.
$ openssl rsa -in rsa_key_enc.pem -passin pass:wrongkeypass -noout -check
unable to load Private Key 140635927500160:error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt:../crypto/evp/evp_enc.c:610: 140635927500160:error:0906A065:PEM routines:PEM_do_header:bad decrypt:../crypto/pem/pem_lib.c:461:
$ echo $?
1