⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 example2.c

📁 openssl是ssl的开源项目
💻 C
字号:
/* NOCW *//*        Please read the README file for condition of use, before        using this software.        Maurice Gittens  <mgittens@gits.nl>   January 1997*/#include <stdlib.h>#include <stdio.h>#include <strings.h>#include "rsa.h"#include "evp.h"#include "objects.h"#include "x509.h"#include "err.h"#include "pem.h"#include "ssl.h"#include "loadkeys.h"#define PUBFILE   "cert.pem"#define PRIVFILE  "privkey.pem"#define STDIN     0#define STDOUT    1 int main(){        char *ct = "This the clear text";	char *buf;   	char *buf2;  	EVP_PKEY *pubKey;  	EVP_PKEY *privKey;	int len;	FILE *fp;        ERR_load_crypto_strings();        privKey = ReadPrivateKey(PRIVFILE);        if (!privKey) 	{  		ERR_print_errors_fp (stderr);    		exit (1);  	}        pubKey = ReadPublicKey(PUBFILE);  	if(!pubKey)	{	   EVP_PKEY_free(privKey);              fprintf(stderr,"Error: can't load public key");	   exit(1);	}	/* No error checking */        buf = malloc(EVP_PKEY_size(pubKey));        buf2 = malloc(EVP_PKEY_size(pubKey));	len = RSA_public_encrypt(strlen(ct)+1, ct, buf, pubKey->pkey.rsa,RSA_PKCS1_PADDING);	if (len != EVP_PKEY_size(pubKey))	{	    fprintf(stderr,"Error: ciphertext should match length of key\n");	    exit(1);	}	RSA_private_decrypt(len, buf, buf2, privKey->pkey.rsa,RSA_PKCS1_PADDING);	printf("%s\n", buf2);	EVP_PKEY_free(privKey);	EVP_PKEY_free(pubKey);	free(buf);	free(buf2);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -