本文共 1666 字,大约阅读时间需要 5 分钟。
系统:CentOS6.5
在Linux系统中,生成RSA公私钥对的过程相对简单,但需要注意每一步的操作细节。以下是详细的操作步骤。
生成原始RSA私钥文件
首先,我们需要使用openssl工具生成一个原始的RSA私钥文件。以下是具体命令:openssl genrsa -out rsa_private_key.pem 1024
这条命令会生成一个1024位的RSA私钥文件rsa_private_key.pem。
将RSA私钥转换为PKCS#8格式
生成的原始RSA私钥通常是以PKCS#1格式存储的,而许多应用程序需要PKCS#8格式的私钥。以下是将原始私钥转换为PKCS#8格式的命令:openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out private_key.pem
这条命令会将原始私钥文件rsa_private_key.pem转换为PKCS#8格式,并存储在private_key.pem文件中。
生成RSA公钥文件
接下来,我们需要从原始私钥文件中提取公钥,并将其存储为一个独立的文件。以下是生成RSA公钥文件的命令:openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
这条命令会将rsa_private_key.pem中的公钥信息提取出来,并存储在rsa_public_key.pem文件中。
$source='abcde';$pkeyid=file_get_contents(DIR_BASE.'/rsa_key/rsa_public_key.pem', 'r');$res = openssl_get_publickey($pkeyid);openssl_public_encrypt($source, $crypttext, $res);echo $crypttext;$pkeyid=file_get_contents(DIR_BASE.'/rsa_key/rsa_private_key.pem', 'r');$res2 = openssl_get_privatekey($pkeyid);if(openssl_private_decrypt($crypttext, $data, $res2)){ echo $data;}else{ echo "false";} $source='abcde';$pkeyid=file_get_contents(DIR_BASE.'/rsa_key/rsa_private_key.pem', 'r');$res = openssl_get_privatekey($pkeyid);openssl_private_encrypt($source, $crypttext, $res);echo $crypttext;$pkeyid=file_get_contents(DIR_BASE.'/rsa_key/rsa_public_key.pem', 'r');$res2 = openssl_get_publickey($pkeyid);if(openssl_public_decrypt($crypttext, $data, $res2)){ echo $data;}else{ echo "false";} openssl工具。如果没有安装,可以通过包管理器安装。通过以上步骤,你可以在CentOS6.5系统中轻松生成必要的RSA公私钥对,并进行相应的加密和解密操作。
转载地址:http://fztfk.baihongyu.com/