如何在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,$pi_key);//私钥解密
  }else{
    openssl_public_encrypt($string,$data,$pu_key);//公钥加密
    $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);
}

原创文章,作者:VMMIP,如若转载,请注明出处:https://www.wangzhanshi.com/n/16435.html

(0)
VMMIP的头像VMMIP
上一篇 2025年1月2日 12:39:15
下一篇 2025年1月2日 12:39:17

相关推荐

  • OpenSSL原理及基本使用

    OpenSSL原理   SSL:SSL是Secure Sockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。Netscape(网景)…

    2025年1月2日
  • 怎么使用openSSL构造一个支持https的nodejs服务器

    首先通过下面的链接下载openSSLhttps://slproweb.com/products/Win32OpenSSL.html 下载完毕后,执行openssl进入交互式界面: …

    ssl证书 2025年1月2日
  • windows配置ssl证书错误应该如何处理

    ssl证书是一种安全证书,这种证书一般配置在网上服务器当中的,因此该证书又被称之为服务器证书。这种证书能够对网站的信息安全保驾护航,所以很多企业都会给网站配置ssl证书。但是,这些…

    2025年1月2日
  • 如何申请阿里云免费ssl证书的方法

    现在很多人为了凸显自己的个性,也开始开设个人的网站了,考虑到网站的安全问题,往往就是给网站部署ssl证书,但是不同于企业级的网站,个人网站并没有那么多的费用来申请一份好的ssl证书…

    2025年1月2日
  • 便宜又安全区的SSL证书有哪些

    随着互联网发展的趋势,网站将http升级成https已经成为一种必然,很多人会需要去购买SSL证书来将网站升级成为https,但我们对与SSL证书的价格、种类、品牌等等方面可能还不…

    2025年1月2日
  • ssl证书与ca证书分别代表什么?

    相信很多人不知道ssl和ca证书有什么区别吧,只知道他们是数字证书,那么下面小编就来给大家介绍下ssl证书和ca证书,ssl ca证书是什么? ssl ca证书怎么分辨? 1.SS…

    2025年1月2日
  • 在国内安装ssl证书的方法

    随着网络的快速发展,人们利用网络进行的业务越来越多,网络安全也成为了众目关注的问题,由于HTTP的不安全性和易于被攻击性,黑客可以入侵信息传输的每一个环节,越来越多的公司已将HTT…

    2025年1月2日
  • CA证书和SSL证书的区别有哪些

    CA证书和SSL证书的区别 对于大多数人来说说到什么是CA证书,什么是SSL证书,相信很多的人都回答不上来吧,那么今天我要给大家讲的是CA证书和SSL证书的区别 CA证书和SSL证…

    2025年1月2日
  • 使用OpenSSL创建CA和申请证书

    OpenSSL简介 OpenSSL是一种加密工具套件,可实现安全套接字层(SSL v2 / v3)和传输层安全性(TLS v1)网络协议以及它们所需的相关加密标准。 openssl…

    2025年1月2日
  • windows ssl证书如何安装

    前段时间,优衣库在官网上发出消息,日本的线上销售平台遭到黑客攻击,超过四十万名顾客的年龄、性别及信用卡使用情况遭泄露,这让人不禁担心起网络的安全性。作为目前运用最广泛的微软系统,w…

    ssl证书 2025年1月2日

发表回复

登录后才能评论