1.Windows下openssl的源码安装和使用方法
2.å¦ä½å©ç¨OpenSSLåºè¿è¡RSAå å¯å解å¯
3.Linuxlinux下OpenSSL的RSA密钥生成
Windows下openssl的安装和使用方法
安装openssl有两种方式,第一种直接下载安装包,源码装上就可运行;第二种可以自己下载源码,源码自己编译。源码下面对两种方式均进行详细描述。源码一、源码DNF2021源码辅助下载和安装openss
方法一:直接使用openssl安装包
Window 的源码openssl的安装包的下载地址为:
一般在安装openssl之前还需要vs的一些插件,该地址中也提供了相关插件的源码下载。如下图即为openssl的源码安装及其vs插件在下载网页的截图。
方法二:自己编译openssl
此过程比较复杂,源码需要先安装perl、源码vs等软件,源码然后才能编译openssl。源码碳足迹源码
1、源码下载并安装perl,源码
1)下载路径:
/activeperl/downloads/
2)安装与配置:
直接运行安装文件(例如:ActivePerl-5..3.-MSWin-x-.msi)即可完成安装;安装过程将自动完成环境变量的配置(安装完成之后,可以在系统环境变量里看到perl的bin目录(例如: C:\Program Files\perl\site\bin;)已经被加入进来),无需再手工配置;
3)测试安装是否成功:
进入perl安装目录的eg文件夹,执行perl example.pl若显示Hello from ActivePerl!,邻里啦源码则说明Perl安装成功。如下图所示:
perl安装成功之后就可以开始使用Perl的相关命令来进行OpenSSL的安装了。
2、openssl可以自己下载源码编译也可以直接下载安装包安装完之后即可使用。
2.1使用源码编译openssl
1) 下载openssl源码的路径:
/blog/static//
下面将使用一个现成的ca文件(ca.key和ca.crt)生成证书文件(client.key和client.crt):
1)创建一个目录用于存放ca文件以及将要生成的证书文件,本例中将该目录创建在outdll目录下:C:\Program Files\openssl-1.0.1g\outdll\test,兔拍拍源码
2)执行命令生成证书的key文件:..\openssl genrsa -out client.key ,如下图所示:
3) 生成证书请求文件:..\openssl req -out server.csr -key server.key -new
4) 生成证书文件:..\ openssl x -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days
下面是其他网友的补充:
安装环境:
操作系统:window7(位)
C++编译器:VS
工具下载:
下载ActivePerl-5.或5.(其他版本也可以):
下载地址:/activeperl/downloads/ (安装过程只要按照Windows下一般程序的安装步骤进行即可)
下载openssl-1.0.1g(其他版本也可以)并解压
下载地址:mended for all new applications.
RSA_SSLV_PADDING
PKCS #1 v1.5 padding with an SSL-specific modification that denotes that the server is SSL3 capable.
RSA_NO_PADDING
Raw RSA encryption. This mode should only be used to implement cryptographically sound padding modes in the application code. Encrypting user data directly with RSA is insecure.
*/
//è¿éé¦å ç¨å ¬é¥è¿è¡å å¯ï¼éæ©äºRSA_PKCS1_PADDING
if(RSA_size(rsa)!=RSA_public_encrypt(strlen(originstr)+1,originstr,cipherstr,rsa,RSA_PKCS1_PADDING))
{
printf("encryption failure\n");
goto FAIL2;
}
printf("the original string is %s\n",originstr);
printf("the encrypted string is %s\n",cipherstr);
//Now, let's decrypt the string with private key
//ä¸é¢æ¥ç¨ç§é¥è§£å¯ï¼é¦å éè¦ä¸ä¸ªbufferç¨äºåå¨è§£å¯åçæ°æ®ï¼è¿ä¸ªbufferçé¿åº¦è¦è¶³å¤ï¼å°äºRSA_size(rsa)ï¼
//è¿éåé ä¸ä¸ªé¿åº¦ä¸ºçå符æ°ç»ï¼åºè¯¥æ¯å¤ç¨çã
char decrypted_str[];
int decrypted_len;
if(-1=(decrypted_len=RSA_private_decrypt(,cipherstr,decrypted_str,rsa,RSA_PKCS1_PADDING)))
{
printf("decryption failure\n");
goto FAIL2;
}
printf("decrypted string length is %d,decryped_str is %s\n",decrypted_len,decrypted_str);
FAIL2:
free(cipherstr);
FAIL1:
BN_free(exponent);
FAIL:
RSA_free(rsa);
return 0;
}
以ä¸æ¯æºä»£ç ï¼ä¸é¢ä½¿ç¨ä¸é¢çç¼è¯å½ä»¤å¨æºç æå¨è·¯å¾ä¸çæå¯æ§è¡æ件
gcc *.c -o openssl_test -lcrypto -ldl -L/usr/local/ssl/lib -I/usr/local/ssl/include
å ¶ä¸ï¼-lcryptoå-ldlæ¯å¿ é¡»çï¼åè æ¯OpenSSLä¸çå å¯ç®æ³åºï¼åè æ¯ç¨äºæåå è½½å¨æåºã
Linuxlinux下OpenSSL的RSA密钥生成
在Linux系统中,OpenSSL是一个常用的加密工具,本文将指导如何在该环境下生成RSA密钥对。首先,有两条主要的表情灯源码安装途径:源码安装和yum包安装。
1. 源码安装:
- 下载openssl-1.0.0e.tar.gz压缩包,将其放在根目录。
- 使用命令`tar -xzf openssl-openssl-1.0.0e.tar.gz`解压缩,得到openssl-1.0.0e文件夹。
- 进入解压目录并设定安装路径,例如`./config --prefix=/usr/local/openssl`。
- 确认安装配置无误后,执行`./config -t`,然后编译安装:`make`。
2.
使用yum包安装:
- 可以通过`yum install openssl* -y`快速安装,但本文重点在于自定义密钥生成。
要生成RSA密钥对,首先生成位的私钥:
- 输入`genrsa -out rsa_private_key.pem `,私钥会保存为rsa_private_key.pem,需妥善保管。
接着,根据私钥生成公钥:
- 使用`rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem`命令,公钥会保存为rsa_public_key.pem。
对于更安全的存储,可以生成PKCS8格式的私钥:
- 执行`pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt`,私钥将被转换为PKCS8格式。
生成的公钥可以使用`cat rsa_public_key.pem`查看,注意保持文件格式,以便正确进行加密和解密操作。
总之,通过上述步骤,您可以在Linux下成功生成和管理RSA密钥对,确保开发语言如PHP中的安全使用。