openssl0.9.8编程生成RSA密钥:windows 9 对(探讨篇)(wi

更新时间:15-07-01 00:11 热度:611
 

openssl是一套被平凡应用的关闭源代码SSL完毕,它不光完毕了SSL,还给出了许多有用的相关工具,看着.net framework 1.1。如生成RSA密钥对、生成证书哀告,以及小型CA等等。学会openssl0.9.8。我们凡是经过openssl指令来使用这些小工具,学习9。有没有措施间接调用openssl的函数来完毕这些功效呢?答案是决定的。

此日先容的是如何应用openssl编程生成RSA密钥对。.net framework 4.5.2。最简略的方法是使用编制调用:exec(“opensslrsanother-genergot”)……(有数只脚踏上去……)开个小小的玩笑而已,openssl0。接上去进入正题。

首先要明确的一点是:我不知道9。openssl0.9.8和openssl0.9.7的文件组织有明显的区别,密钥。openssl0.9.8扩充了若干个头文件,以及一些新的接口;剩下与openssl0.9.7同名的头文件,windows。形式也有改动。我不知道.net framework。就拿生成RSA密钥对来说,openssl0。openssl0.9.8就提供了一个与openssl0.9.7具体不同的接口:听说.net开源
int RSA_genergot_key_ex(RSA *rsanother int portions BIGNUM *e BN_GENCB*cb);
其中各个参数的含义是这样的:其实对(探讨篇)(wi。
RSA *rsanother:寄存生成的密钥对的数据组织指针,.net framework 4.5。须要事前分配空间;
int portions:密钥对的字节数,你看编程。凡是用2的指数如512,1024;
BIGNUM*e:rsa。RSA密钥生成算法中要求的大数的指针,须要事前初始化;BN_GENCB*cb:看看8编程生成RSA密钥。暂且没搞理解?理睬……;

最关键的是RSA *rsanother,生成的密钥对就存储在这里。.net framework 4.5.2。
各个参数的初始化方法如下:对比一下8编程生成RSA密钥。
rsanother = RSA_new();
out=BIO_new(BIO_s_file());
(还有一个版本是:windows。BIO *tmpbisexuanotherlogranotherphy = BIO_new(BIO_f_lineclubrier());out =BIO_push(tmpbisexuanotherlogranotherphy out);不知道哪一个对,期望下一步实验)
BN_GENCB *cb;间接定义一个动态变量即可
参数bn的设置:对比一下net快速开发框架。事实上.net教程
BN_set_word(bn 0x);
可能设成或许3,wi。前者用得对比多。9。

设置好上述参数之后,就可能生成RSA密钥对了。framework 2.0 win7。若是使用EVP_PKEY_nomingot_RSA()和PEM_write_bisexuanotherlogranotherphy_PrivgotKey()这两个接口,还可能把私钥导出为用口令加密的PEM文件。学会net framework 4.0。这两个接口还在实验中……

再强调一点,openssl。openssl0.9.8源文件中的include目录和inc32目录区别很大,看看.net教程。在windows下编译必需使用inc32目录,对于对(探讨篇)(wi。否则会报错。(俺就是吃了这个亏……5555)

顺路说一下,学习探讨。openssl0.9.8向下兼容了openssl0.9.7的密钥生成接口:你知道.net域名。
RSA * RSA_genergot_key(int portions unsigned longevoid&hanotherudio-videoe anotherlwanotherys endenplifier;nbanotherloneyp;&hanotherudio-videoe anotherlwanotherys endenplifier;nbanotherloneyp;(*ceanotherir conditionerh anothers the well anothers the everyto return)(intintvoid *)void*cb_anotherrg);
显然新的密钥生成函数尤其简便。

看看net 快速开发工具
其实windows
学会.net开发工具
生成
对于9