Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erläuterung der Zertifikatserstellung sowie der Ver- und Entschlüsselung mit OpenSSL in PHP

Ausführliche Erläuterung der Zertifikatserstellung sowie der Ver- und Entschlüsselung mit OpenSSL in PHP

墨辰丷
墨辰丷Original
2018-05-26 15:14:111317Durchsuche

In diesem Artikel wird hauptsächlich die Verwendung von OpenSSL zum Generieren von Zertifikaten sowie zur Ver- und Entschlüsselung in PHP vorgestellt. Freunde in Not können sich darauf beziehen

Hängt von der OpenSSL-Erweiterung ab

/*加密解密*/
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);
}

Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird.


Verwandte Empfehlungen:

PHP implementiert die Verwendung von OpenSSL zum Generieren von Zertifikaten und Verschlüsselung und Entschlüsselung

DES implementiert durch PHPVerschlüsselung und EntschlüsselungVollständige Methode der Kapselungsklasse

JS-Implementierung von 3des+base64Verschlüsselung und EntschlüsselungDetaillierte Erläuterung der Algorithmusschritte

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Zertifikatserstellung sowie der Ver- und Entschlüsselung mit OpenSSL in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn