See my comment above on why this may be a non-issue if you are using TLS 1.3.
If you still feel you need an automated way to analyze a certificate, this short python script might help:
from cryptography import x509 from cryptography.hazmat.backends import default_backend with open('eccert.pem', 'rb') as file: certificate=file.read() certDecoded = x509.load_pem_x509_certificate(certificate, default_backend()) print(certDecoded.subject) print(certDecoded.public_key()) If you place the file eccert.pem in the same directory, you'll see that the script produces the following when run, indicating that the certificate contains an EC public key:
<cryptography.hazmat.backends.openssl.ec._EllipticCurvePublicKey object at 0x7f6539a63df0> If you run the script against rsacert.pem instead, you'll see that it produces the following, indicating that the certificate contains an RSA public key:
<cryptography.hazmat.backends.openssl.rsa._RSAPublicKey object at 0x7f6539a63f40> Copied below are both pem files.
eccert.pem
-----BEGIN CERTIFICATE----- MIIDsjCCAzigAwIBAgISBDJmXL6n06M8cOTXFDbs+kqzMAoGCCqGSM49BAMDMDIx CzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQDEwJF MTAeFw0yNDAxMTUwNTE4NDlaFw0yNDA0MTQwNTE4NDhaMBwxGjAYBgNVBAMTEXN0 YWNrZXhjaGFuZ2UuY29tMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEqAjRWWwJ RSCyerqocxzh0395qLgCsnhjUAdPeICBf/J6Cu5yWFEmRXokOYlh2kACMIvPslS5 RgdPgp6iK9nwxqOCAkIwggI+MA4GA1UdDwEB/wQEAwIHgDAdBgNVHSUEFjAUBggr BgEFBQcDAQYIKwYBBQUHAwIwDAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUMH5X1YCS COQsDJDBONPhwUb5Q0UwHwYDVR0jBBgwFoAUWvPtK/w2wjd5uVIw6lRvz1XLLqww VQYIKwYBBQUHAQEESTBHMCEGCCsGAQUFBzABhhVodHRwOi8vZTEuby5sZW5jci5v cmcwIgYIKwYBBQUHMAKGFmh0dHA6Ly9lMS5pLmxlbmNyLm9yZy8wSwYDVR0RBEQw QoIYKi5tZXRhLnN0YWNrZXhjaGFuZ2UuY29tghMqLnN0YWNrZXhjaGFuZ2UuY29t ghFzdGFja2V4Y2hhbmdlLmNvbTATBgNVHSAEDDAKMAgGBmeBDAECATCCAQQGCisG AQQB1nkCBAIEgfUEgfIA8AB2AKLiv9Ye3i8vB6DWTm03p9xlQ7DGtS6i2reK+Jpt 9RfYAAABjQvFztsAAAQDAEcwRQIgQMs3VNVQgjyAOxCFo+84k4xycmuyDWtIpm1k yluXCGkCIQD5cw9glnZBovkrRwYd/LMymZeSBP3jaFXi117VlVi05gB2AO7N0GTV 2xrOxVy3nbTNE6Iyh0Z8vOzew1FIWUZxH7WbAAABjQvFzq8AAAQDAEcwRQIhAONp YR6UgoB+CR29CxL+Y8fdp6Q7GYb3cC/rH22+CKWsAiATEfGRPFXNltwIDmdvU9+F t2FIXtzJAPZbvCp8DQfr5zAKBggqhkjOPQQDAwNoADBlAjB8PA5ZqHFgziw8qTwI cNmwHLFpNFMzk6Cry9qdkVqyPNXFiaUe2gq0ZgRzGoOqv+gCMQDnMSjnETYxNMNF QUZRsXiRlm5FWR/tv4CM2kJ7szFDw1yautMV8+dJDjbC/n0dxgs= -----END CERTIFICATE----- rsacert.pem
-----BEGIN CERTIFICATE----- MIIHrjCCBpagAwIBAgIQPTiQEKFXQA/z/MDIBIrKazANBgkqhkiG9w0BAQsFADCB lTELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G A1UEBxMHU2FsZm9yZDEYMBYGA1UEChMPU2VjdGlnbyBMaW1pdGVkMT0wOwYDVQQD EzRTZWN0aWdvIFJTQSBPcmdhbml6YXRpb24gVmFsaWRhdGlvbiBTZWN1cmUgU2Vy dmVyIENBMB4XDTIzMTEwMjAwMDAwMFoXDTI0MTEwMTIzNTk1OVowSjELMAkGA1UE BhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExEzARBgNVBAoTCmVCYXksIEluYy4x ETAPBgNVBAMTCGViYXkuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC AQEAqQT6wNkzfTtFjfQtwKEeM4mpmHRqcDWATSq+bW/xtj879V5gsNd0lvWd8SWI OUgR+6csWerleRMCHg6ZKojIF+THc+nvdV6WJVKQwOmRtm745lGMlxjuJmACNMN9 21INIxhmcY4kDcAig5CEOD+jGg0ajqqx7wG2xiWEp0t1we5ypgGiiJPp1FVETiXN yklnkPkzFF8sLDBdVQHDGnBzYEVm/HUwatxFB09HyDqegsK7phiTVm77M2CG1/KR 4KFmunLtN1qqnZ0SquKyJzibimKf6UGuWHd3u548VtIUg3UigXuqLb04ZToidbi1 05KanEowHL1uXF1WyVV2ccgkFwIDAQABo4IEQjCCBD4wHwYDVR0jBBgwFoAUF9nW JSdn+THCSUPZMDZEjGypT+swHQYDVR0OBBYEFDqQtqCnnA6X6MzznbmVGKac3mV8 MA4GA1UdDwEB/wQEAwIFoDAMBgNVHRMBAf8EAjAAMB0GA1UdJQQWMBQGCCsGAQUF BwMBBggrBgEFBQcDAjBKBgNVHSAEQzBBMDUGDCsGAQQBsjEBAgEDBDAlMCMGCCsG AQUFBwIBFhdodHRwczovL3NlY3RpZ28uY29tL0NQUzAIBgZngQwBAgIwWgYDVR0f BFMwUTBPoE2gS4ZJaHR0cDovL2NybC5zZWN0aWdvLmNvbS9TZWN0aWdvUlNBT3Jn YW5pemF0aW9uVmFsaWRhdGlvblNlY3VyZVNlcnZlckNBLmNybDCBigYIKwYBBQUH AQEEfjB8MFUGCCsGAQUFBzAChklodHRwOi8vY3J0LnNlY3RpZ28uY29tL1NlY3Rp Z29SU0FPcmdhbml6YXRpb25WYWxpZGF0aW9uU2VjdXJlU2VydmVyQ0EuY3J0MCMG CCsGAQUFBzABhhdodHRwOi8vb2NzcC5zZWN0aWdvLmNvbTCCAX0GCisGAQQB1nkC BAIEggFtBIIBaQFnAHYAdv+IPwq2+5VRwmHM9Ye6NLSkzbsp3GhCCp/mZ0xaOnQA AAGLkj6m4wAABAMARzBFAiEAw3JysbrSb8ZALyx99vWRNT6p3ADzrUYVrkf8pJJu NbYCIHlVObN/vnoYfidhO/ZSOie8vjr3ruCrxUXKn8tEEhusAHYAPxdLT9ciR1iU HWUchL4NEu2QN38fhWrrwb8ohez4ZG4AAAGLkj6nEgAABAMARzBFAiEA9xY3dmYP Iepjpg4uPuka5rucAA9XDQtgX5AaPo9irc0CIF2cSAxf1RMHDenJEbZ/nsWcIAFJ wBJhM28AF2ExZLUMAHUA7s3QZNXbGs7FXLedtM0TojKHRny87N7DUUhZRnEftZsA AAGLkj6nEQAABAMARjBEAiBHnn1aJMAUfj/+wLCKqudzqHFvcM6JOgsCXqiwl3bC EQIgLTU1YRbmG8v9ifFUGqIOwBUNV+Ra2+kKcy4H6LE4f/YwggEHBgNVHREEgf8w gfyCCGViYXkuY29tggxiZWZyLmViYXkuYmWCDGJlbmwuZWJheS5iZYIMY2Fmci5l YmF5LmNhgghlLWJheS5pdIIHZWJheS5hdIIHZWJheS5iZYIHZWJheS5jYYIHZWJh eS5jaIIKZWJheS5jby51a4ILZWJheS5jb20uYXWCC2ViYXkuY29tLmhrggtlYmF5 LmNvbS5teYILZWJheS5jb20uc2eCB2ViYXkuZGWCB2ViYXkuZXOCB2ViYXkuZnKC B2ViYXkuaWWCB2ViYXkuaW6CB2ViYXkuaXSCB2ViYXkubmyCB2ViYXkucGiCB2Vi YXkucGyCB2ViYXkudXMwDQYJKoZIhvcNAQELBQADggEBAJW/U2cRX2UQsyz8iRTI 3actxYUVPtu42+1/V26KmgYOHuYJXWBNSJ+FpIwDJbbYzPzNKX1/uZThLt/erOBV NB2u9TG1wyg5xG+aYefyRSy9OEipTZ42mSlxzoeOCrZ0u8fLraFUlDnyuTRzYdX6 gu38/N7VLWvGWDUksEQaapklGU2pvduxSJ6mIxdS6RXinKB9eYFynePpQdBrS0aA gO22gX652iv4wXlQOjyfbF2b6RSOFyUFbshaEKoDzNCZ7fyzcNvjjGRsdu2TkeTz wIjVTcfltSJFJ3AsmZHPM4QWzt56ihmyJoCjUCGDCyAgM7x7K39HMockrfDQ1b6P RvY= -----END CERTIFICATE-----