- 论坛徽章:
- 0
|
10可用积分
本帖最后由 osmanthusgfy 于 2012-10-03 23:06 编辑
使用openssl生成RSA PEM格式私钥和公钥代码大致如下:-
- /* 生成公钥 */
- RSA* rsa = RSA_generate_key( 1024, RSA_F4, NULL, NULL);
- BIO *bp = BIO_new( BIO_s_file() );
- BIO_write_filename( bp, "public.pem" );
- PEM_write_bio_RSAPublicKey(bp, rsa);
- BIO_free_all( bp );
-
-
- /* 生成私钥 */
- char passwd[]="1234";
- bp = BIO_new_file("private.pem", "w+");
-
- PEM_write_bio_RSAPrivateKey(bp, rsa, EVP_des_ede3(), (unsigned char*)passwd, 4, NULL, NULL);
-
- BIO_free_all( bp );
复制代码 读取私钥:
- OpenSSL_add_all_algorithms();
-
- BIO* bp = BIO_new( BIO_s_file() );
- BIO_read_filename( bp, "private.pem" );
-
- char passwd[]="1234";
- RSA* rsaK = PEM_read_bio_RSAPrivateKey( bp, NULL, NULL, passwd );
复制代码 读取公钥:
- OpenSSL_add_all_algorithms();
-
-
- BIO* bp = BIO_new( BIO_s_file() );
- BIO_read_filename( bp, "public.pem" );
- RSA* rsaK = PEM_read_bio_RSAPublicKey( bp, NULL, NULL, NULL );
复制代码 请问: 如果公钥和私钥的PEM文件都被泄漏, 在不知道passwd的情况下, 能快速被破解吗?
也就从PEM文件中获得正确的私钥. |
最佳答案
查看完整内容
对ssl编程不熟,但是以我的认识,你用des对私钥进行了加密,那么所谓解密私钥就成了des的破解问题,理论上可以,实际有多快不清楚。(密码是1234的话应该很快就是了)
|