如何将字符串类型转换为openssl的RSA结构

生如夏花bld 2019-02-20 02:03:32
目前知道私钥的字符串类型,现在需要的是RSA结构,用C语言怎么才能的到RSA结构?
...全文
484 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
离水的鱼儿 2019-06-21
  • 打赏
  • 举报
回复
无非就是自定义的结构体,楼主已经找到了方法,openssl 中晚仔细看下几个大结构,尤其bio 基本到处都在用
asd10561420 2019-06-12
  • 打赏
  • 举报
回复
我想请问下,你的密匙字符串是带有-----BEGIN RSA PUBLIC KEY-----的开头的吗?如果没有这个开头,还能用PEM_xxx的函数去获取RSA结构吗?
生如夏花bld 2019-05-24
  • 打赏
  • 举报
回复
引用 4 楼 李希金 的回复:
最后怎么解决的呢?我也碰到了同样的问题,对方提供的私钥是一个字符串,但是到处都找不到转成pem秘钥文件的方法(c语言实现),求指教,多谢!
你可以使用PEM_write_bio_RSAPrivateKey试试,具体用法你需要自己看源码
李希金 2019-05-14
  • 打赏
  • 举报
回复
最后怎么解决的呢?我也碰到了同样的问题,对方提供的私钥是一个字符串,但是到处都找不到转成pem秘钥文件的方法(c语言实现),求指教,多谢!
生如夏花bld 2019-02-21
  • 打赏
  • 举报
回复
引用 2 楼 niiiloc 的回复:
typedef struct RSAPrivateKeyStr
	{
	void *reserved;
	Item version;
	Item modulus;
	Item publicExponent;
	Item privateExponent;
	Item prime[2];
	Item exponent[2];
	Item coefficient;
	} RSAPrivateKey;
建议网上下一份openssl开源代码瞅瞅就好了
虽然我后来已经找到了,但是还是非常感谢[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/13.gif[/img]
///1.新建BIO对象
        bio = BIO_new_mem_buf(pubKey, strlen(pubKey));
        if (bio == NULL) {
            return iRet;
        }
        ///从BIO中获取公钥
        if ((RSAPubKey = PEM_read_bio_RSAPublicKey(bio, NULL, NULL, NULL)) == NULL) {
            BIO_free(bio);
            return iRet;
        }
        BIO_free(bio);
636f6c696e 2019-02-21
  • 打赏
  • 举报
回复
typedef struct RSAPrivateKeyStr
	{
	void *reserved;
	Item version;
	Item modulus;
	Item publicExponent;
	Item privateExponent;
	Item prime[2];
	Item exponent[2];
	Item coefficient;
	} RSAPrivateKey;
建议网上下一份openssl开源代码瞅瞅就好了
636f6c696e 2019-02-21
  • 打赏
  • 举报
回复
你是要这个?

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧