OpenSSL是一種常用的加密庫,它提供了許多加密算法和工具,能夠讓開發人員輕松地添加安全性和保護到他們的應用程序中。在本教程中,我們將講解如何使用PHP中的OpenSSL庫來加密、解密、生成SSL證書和保存私鑰。
首先,我們來看一個簡單的加密和解密例子:
$key = "0123456789abcdef"; // key長度必須為16、24或32個字符 $iv = "fedcba9876543210"; // iv必須為16個字符 $data = "Hello World!"; //加密 $encrypted = openssl_encrypt($data, "AES-128-CBC", $key, 0, $iv); echo $encrypted; //解密 $decrypted = openssl_decrypt($encrypted, "AES-128-CBC", $key, 0, $iv); echo $decrypted;
在上面的代碼中,我們使用openssl_encrypt()加密函數和openssl_decrypt()解密函數來執行對稱加密。注意,$key必須為16、24或32個字符,這分別對應AES-128、AES-192和AES-256加密算法。
下面,我們再來看一個生成SSL證書的例子:
//創建私鑰 $privkey = openssl_pkey_new(); //生成證書請求 $csr = openssl_csr_new(array( "countryName" =>"CN", "stateOrProvinceName" =>"Shanghai", "localityName" =>"Shanghai", "organizationName" =>"Company", "organizationalUnitName" =>"IT", "commonName" =>"example.com" ), $privkey); //自簽名證書 $x509 = openssl_csr_sign($csr, null, $privkey, 365); //保存到文件 openssl_x509_export_to_file($x509, "example.crt"); openssl_pkey_export_to_file($privkey, "example.key");
在這個例子中,我們使用openssl_csr_new()函數創建證書請求,然后調用openssl_csr_sign()函數自簽名證書。最后,我們可以使用openssl_x509_export_to_file()和openssl_pkey_export_to_file()將證書和私鑰保存到文件中。
以上就是本教程的主要內容,希望能有幫助!