×

openssl加密

openssl加密(如何使用OPENSSL中的AES算法加密文件)

admin admin 发表于2023-10-17 13:33:01 浏览54 评论0

抢沙发发表评论

本文目录

如何使用OPENSSL中的AES算法加密文件

使用VS2005下的Visual Studio 2005 Command Prompt进入控制台模式(这个模式会自动设置各种环境变量)、解压缩openssl的包,进入openssl的目录、perl configure VC-WIN32尽量在这个目录下执行该命令,否则找不到Configure文件,或者指定完整的Configure文件路径。、ms\do_ms在解压目录下执行ms\do_ms命令、nmake -f ms\ntdll.mak编译后在openssl解压目录下执行,完成编译后。输出的文件在out32dll里面,包括应用程序的可执行文件、lib文件和dll文件注意:在运行第五步时,cl编译器会抱怨说.\crypto\des\enc_read.c文件的read是The POSIX name for this item is deprecated(不被推荐的),建议使用_read。呵呵,我可不想将OpenSSL中的所有的read函数修改为_read。再看cl的错误代码 error C2220,于是上MSDN上查找:warning treated as error - no object file generated/WX tells the compiler to treat all warnings as errors. Since an error occurred, no object or executable file was generated.是由于设置了/WX选项,将所有的警告都作为错误对待,所以。。。于是打开OpenSSL目录下的MS目录下的ntdll.mak文件,将CFLAG的/WX选项去掉,存盘。

给iis添加新的ssl加密方式 openssl

IIS服务器建议使用ECC算法类型SSL证书。

解释原因:

  1. ECC算法是全新的SSL证书加密方式。
  2. 目前ECC算法比RSA算法更安全。

  3. 数字证书ECC更快一些更有利于IIS服务器使用。

解决办法:可以在Gworg申请ECC证书。

如何把openssl生成rsa加密的私钥显现可读

首先需要进入openssl的交互界面,在命令行了输入openssl即可;1)生成RSA私钥:genrsa -out rsa_private_key.pem 1024该命令会生成1024位的私钥,生成成功的界面如下:此时我们就可以在当前路径下看到rsa_private_key.pem文件了。2)把RSA私钥转换成PKCS8格式输入命令pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM –nocrypt,并回车得到生成功的结果,这个结果就是PKCS8格式的私钥,如下图:3) 生成SA公钥输入命令rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem,并回车,得到生成成功的结果,如下图:此时,我们可以看到一个文件名为rsa_public_key.pem的文件,打开它,可以看到-----BEGIN PUBLIC KEY-----开头,-----END PUBLIC KEY-----结尾的没有换行的字符串,这个就是公用

使用Openssl库函数如何实现对协议的加密

使用VS2005下的Visual Studio 2005 Command Prompt进入控制台模式(这个模式会自动设置各种环境变量)、解压缩openssl的包,进入openssl的目录、perl configure VC-WIN32尽量在这个目录下执行该命令,否则找不到Configure文件,或者指定完整的Configure文件路径。、ms\do_ms在解压目录下执行ms\do_ms命令、nmake -f ms\ntdll.mak编译后在openssl解压目录下执行,完成编译后。输出的文件在out32dll里面,包括应用程序的可执行文件、lib文件和dll文件注意:在运行第五步时,cl编译器会抱怨说.\crypto\des\enc_read.c文件的read是The POSIX name for this item is deprecated(不被推荐的),建议使用_read。呵呵,我可不想将OpenSSL中的所有的read函数修改为_read。再看cl的错误代码 error C2220,于是上MSDN上查找:warning treated as error - no object file generated/WX tells the compiler to treat all warnings as errors. Since an error occurred, no object or executable file was generated.是由于设置了/WX选项,将所有的警告都作为错误对待,所以。。。于是打开OpenSSL目录下的MS目录下的ntdll.mak文件,将CFLAG的/WX选项去掉,存盘。

如何用C语言来使用openssl rsa进行公钥加密,已有公钥和明文

1. 本程序使用2048位密钥对,每次加密时,原始数据的最大长度为245字节,加密后的密文长度为256字节.(采用打PADDING 的加密方式)2. 如果所加密数据长度大于245字节,请分多次加密,后将密文按顺序存储;解密时,每次读取256字节,进行解密,将解密后的数据依次按顺序存储,即可还原原始数据.#include 《stdio.h》#include 《stdlib.h》#include 《string.h》#include 《errno.h》#include 《openssl/rsa.h》#include 《openssl/pem.h》#include 《openssl/err.h》#define OPENSSLKEY “test.key“#define PUBLICKEY “test_pub.key“#define BUFFSIZE 1024char *my_encrypt(char *str, char *path_key); //加密char *my_decrypt(char *str, char *path_key); //解密int main(void){char *source = “i like dancing !!!“;char *ptf_en, *ptf_de;printf(“source is :%s\n“, source);//1.加密ptf_en = my_encrypt(source, PUBLICKEY);if (ptf_en == NULL){return 0;}else{printf(“ptf_en is :%s\n“, ptf_en);}//2.解密ptf_de = my_decrypt(ptf_en, OPENSSLKEY);if (ptf_de == NULL){return 0;}else{printf(“ptf_de is :%s\n“, ptf_de);}if(ptf_en) free(ptf_en);if(ptf_de) free(ptf_de);return 0;}//加密char *my_encrypt(char *str, char *path_key){char *p_en = NULL;RSA *p_rsa = NULL;FILE *file = NULL;int lenth = 0; //flen为源文件长度, rsa_len为秘钥长度//1.打开秘钥文件if((file = fopen(path_key, “rb“)) == NULL){perror(“fopen() error 111111111 “);goto End;} //2.从公钥中获取 加密的秘钥if((p_rsa = PEM_read_RSA_PUBKEY(file, NULL,NULL,NULL )) == NULL){ERR_print_errors_fp(stdout);goto End;}lenth = strlen(str);p_en = (char *)malloc(256);if(!p_en){perror(“malloc() error 2222222222“);goto End;} memset(p_en, 0, 256);//5.对内容进行加密if(RSA_public_encrypt(lenth, (unsigned char*)str, (unsigned char*)p_en, p_rsa, RSA_PKCS1_PADDING) 《 0){perror(“RSA_public_encrypt() error 2222222222“);goto End;}End://6.释放秘钥空间, 关闭文件if(p_rsa) RSA_free(p_rsa);if(file) fclose(file);return p_en;} //解密char *my_decrypt(char *str, char *path_key){char *p_de = NULL;RSA *p_rsa = NULL;FILE *file = NULL;//1.打开秘钥文件file = fopen(path_key, “rb“);if(!file){perror(“fopen() error 22222222222“);goto End;} //2.从私钥中获取 解密的秘钥if((p_rsa = PEM_read_RSAPrivateKey(file, NULL,NULL,NULL )) == NULL){ERR_print_errors_fp(stdout);goto End;}p_de = (char *)malloc(245);if(!p_de){perror(“malloc() error “);goto End;} memset(p_de, 0, 245);//5.对内容进行加密if(RSA_private_decrypt(256, (unsigned char*)str, (unsigned char*)p_de, p_rsa, RSA_PKCS1_PADDING) 《 0){perror(“RSA_public_encrypt() error “);goto End;}End://6.释放秘钥空间, 关闭文件if(p_rsa) RSA_free(p_rsa);if(file) fclose(file);return p_de;}