【PHP】秘密鍵と証明書と中間証明書の整合性の検証

opensslを使うことで秘密鍵と証明書、中間証明書の整合性の検証を行っている。

#秘密鍵と証明書が対応しているかどうか
$server_cert_bool = openssl_x509_check_private_key($server_cert, private_key);

#証明書と中間証明書が対応しているかどうか
$intermediate_cert_bool = false;
if(md5(serialize(openssl_x509_parse($params['server_cert'])['issuer'])) == md5(serialize(openssl_x509_parse($params['intermediate_cert'])['subject']))){
    $intermediate_cert_bool = true;
}


整合性が取れていればどちらにもtrueが入ります。

証明書(server_cert)が間違っていると、どちらもfalseになります。

中間証明書が間違っていると中間証明書のみがfalseになります。