cer证书读取
// 证书路径
// 文件内容若为二进制编码格式,则需要转换为base64 编码格式
private $rsaPubCertPath = './cert/rsa_public_key.cer';
// 读取证书内容
$encryptPubCertKey = file_get_contents($this->rsaPubCertPath );
$encryptPubCertKey = '-----BEGIN CERTIFICATE-----' . PHP_EOL
. chunk_split(base64_encode($rsaPubCertPath), 64, PHP_EOL)
. '-----END CERTIFICATE-----' . PHP_EOL;
// 直接获取 加密key
$key = openssl_pkey_get_public($encryptPubCertKey);
pfx证书读取
// 证书路径
private $rsaPriCertPath = './cert/rsa_private_key.pfx';
// 证书密码
$pwd = '122';
// 读取证书内容
openssl_pkcs12_read(file_get_contents($this->rsaPriCertPath), $cert, $pwd);
if (!$cert) {
return false;
}
$signature = '';
openssl_sign($data, $signature, $cert['pkey']);