PHP SSL Certificate Get Keysize
<?php $x509_certificate_pem='-----BEGIN CERTIFICATE----- MIIC4DCCAcgCCQCu3G2r7E5VKjANBgkqhkiG9w0BAQUFADAyMQswCQYDVQQGEwJV UzENMAsGA1UECAwEVXRhaDEUMBIGA1UEAwwLZXhhbXBsZS5jb20wHhcNMTIxMDA2 MDMyOTUzWhcNMTMxMDA2MDMyOTUzWjAyMQswCQYDVQQGEwJVUzENMAsGA1UECAwE VXRhaDEUMBIGA1UEAwwLZXhhbXBsZS5jb20wggEiMA0GCSqGSIb3DQEBAQUAA4IB DwAwggEKAoIBAQC94noYUlPw2epFqGHUUOL6e1Q8SoMMpOx/Y8jIKt6lRCq+HLKf ZQwvWjrcr1eLz5dKy/jqUfGl1zlI6RQ79wKZ0ZC8Z0F63zgo9lChIU9piR7YC8NC zGtKzQWhCKVGs9YYr4bnUGMm/NrDx2xzyn5aIdpJlhNmO0Bf30b16XOqn1b1w5H7 7VFnuHBhnTifYn4aTo3O+UGLTPzr0Lgsv/8tjEbW2G/WlLzPJTvI/FeLWLfkDhBv 9pVQuVTyncKlxFABD8iJ8wUvMJhnRcsZrAOZP6fTiHiEdPh9ujo429vTdIEqwfIe Kv2f4hGcKZC3XcH7mxg1K71yqaedybB/B+DjAgMBAAEwDQYJKoZIhvcNAQEFBQAD ggEBACZO4Bc/pvzpikNTtoVY7iNvBYD6PKXqQgWclfjG/S1mGW7mn3M36Qe+bIZB YEwGdmVp30rQhc7sdIrGR8sU10BPKBAB64hync3L3j/zZxXEAW57vxMya1UozRgi H55F8fQQSyPiICKE08x+D19Kdp1lIw7an4i84sfLCzXYbywkjGGNt4mlgMLVOz3k 0I9XMU//plBsiICFpYZOSAfxiLra/AYYVje8zjsy1K3srWH/J0Z7k3/7izcBh0dm k+KLeKcAnuIUIA0zZajkF/oMMZukv47juhpIIZZT0x06oyV5nibyWkSSKgLl/Lgg O8U3Kq80tVUE/mcM2hTWUXQAyFM= -----END CERTIFICATE-----'; $public_key_res = openssl_pkey_get_public($x509_certificate_pem); if (($error_string = openssl_error_string())!==false) { error_log("OPENSSL ERR: ".$error_string); } else { $public_key_arr = openssl_pkey_get_details($public_key_res); $keysize = isset($public_key_arr['bits'])? $public_key_arr['bits'] : 0; $key_type = 'unknown'; $key_type = $public_key_arr['type']==OPENSSL_KEYTYPE_RSA ? 'RSA' : $key_type; $key_type = $public_key_arr['type']==OPENSSL_KEYTYPE_DSA ? 'DSA' : $key_type; $key_type = $public_key_arr['type']==OPENSSL_KEYTYPE_DH ? 'DH' : $key_type; echo $key_type.' / '.$keysize ."\n"; } ?>
output:
RSA / 2048
code snippets are licensed under Creative Commons CC-By-SA 3.0 (unless otherwise specified)