2014-11-02 152 views
0

在我的网站上,我有两个函数用于加密和解密存储在mySQL数据库中的数据。数据使用我的SSL密钥进行加密或解密。RSA SSL密钥加密更改

function enkrypt($data) { 
    $fp = fopen("/home/ssl/certs/cert.crt","r"); 
    $pub_key=fread($fp,8192); 
    fclose($fp); 
    openssl_get_publickey($pub_key); 
    openssl_public_encrypt($data,$text,$pub_key); 
    return base64_encode($text); 
} 
function dekrypt($data) { 
    $data = base64_decode($data); 
    $fp = fopen("/home/ssl/keys/key.key","r"); 
    $priv_key=fread($fp,8192); 
    fclose($fp); 
    $res = openssl_get_privatekey($priv_key); 
    openssl_private_decrypt($data,$text,$res); 
    return $text; 
} 

我对这个问题很简单,也可能愚蠢,但一年一次后,我的SSL证书过期,将我的钥匙改变,我必须解密和使用新密钥重新加密所有的我的信息?

回答

1

您的证书可以在不更改密钥对的情况下更新。每年从相同的密钥对继续生成新的CSR。或者,如果您的CA许可,请继续重新提交相同的 CSR。