大家好,又见面了,我是你们的朋友全栈君。
摘要:这篇文章主要介绍了PHP中使用OpenSSL生成证书及加密解密,需要的朋友可以参考下依赖于OpenSSL扩展/*加密解密*/
function authcode(string, operation = ‘E’) {
$ssl_public = file_get_contents(DAT
这篇文章主要介绍了PHP中使用OpenSSL生成证书及加密解密,需要的朋友可以参考下
依赖于OpenSSL扩展/*加密解密*/
function authcode(string, operation = ‘E’) {
$ssl_public = file_get_contents(DATA_PATH.”/conf/cert_public.key”);
$ssl_private = file_get_contents(DATA_PATH.”/conf/cert_private.pem”);
pi_key = openssl_pkey_get_private(ssl_private);//这个函数可用来判断私钥是否是可用的,可用返回资源id Resource id
pu_key = openssl_pkey_get_public(ssl_public);//这个函数可用来判断公钥是否是可用的
if(false == (pi_key || pu_key)) return ‘证书错误’;
$data = “”;
if($operation==’D’){
openssl_private_decrypt(base64_decode(string),data,
}else{
openssl_public_encrypt(string,data,
data = base64_encode(data);
}
return $data;
}
/*生成证书*/
function exportOpenSSLFile(){
$config = array(
“digest_alg” => “sha512”,
“private_key_bits” => 4096, //字节数 512 1024 2048 4096 等
“private_key_type” => OPENSSL_KEYTYPE_RSA, //加密类型
);
res = openssl_pkey_new(config);
if($res == false) return false;
openssl_pkey_export(res, private_key);
public_key = openssl_pkey_get_details(res);
public_key = public_key[“key”];
file_put_contents(DATA_PATH.”/conf/cert_public.key”,$public_key);
file_put_contents(DATA_PATH.”/conf/cert_private.pem”,$private_key);
openssl_free_key($res);
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/191805.html原文链接:https://javaforall.cn