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になります。