RT
我现在有一段RSA秘钥,如何通过openssl 添加到我的数字证书中呢?
另外如何才能从这个证书中提取这个证书呢?
如何通过openssl 将公钥 添加到证书中
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
关注 不知道你这个问题是否已经解决, 如果还没有解决的话:- 这篇文章:升级了OpenSSL后仍被扫描报存在漏洞的解决方案 也许能够解决你的问题,你可以看下
- 除此之外, 这篇博客: 【openssl】使用openssl库进行base64加解密,aes解密,rsa验证签名中的 2.2 加密解密代码 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
//加密 char * Base64Encode(const char * input, int length, bool with_new_line) { if(!input || !length) return NULL; BIO * bmem = NULL; BIO * b64 = NULL; BUF_MEM * bptr = NULL; b64 = BIO_new(BIO_f_base64()); if(!with_new_line) { BIO_set_flags(b64, BIO_FLAGS_BASE64_NO_NL); } bmem = BIO_new(BIO_s_mem()); b64 = BIO_push(b64, bmem); BIO_write(b64, input, length); BIO_flush(b64); BIO_get_mem_ptr(b64, &bptr); char * buff = (char *)malloc(bptr->length + 1); memcpy(buff, bptr->data, bptr->length); buff[bptr->length] = '\0'; BIO_free_all(b64); return buff; } //解码 char* Base64Decode(const char* input, int length, bool with_new_line) { if(!input || !length) return NULL; BIO * b64 = NULL; BIO * bmem = NULL; char * buffer = (char *)malloc(length); memset(buffer, 0, length); b64 = BIO_new(BIO_f_base64()); if(!with_new_line) { BIO_set_flags(b64, BIO_FLAGS_BASE64_NO_NL); } bmem = BIO_new_mem_buf(input, length); bmem = BIO_push(b64, bmem); unsigned int size = BIO_read(bmem, buffer, length); buffer[size] = '\0'; BIO_free_all(bmem); //调试时建议这里加log,看看你的输入输出分别是什么 return buffer; }
如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^解决 无用评论 打赏 举报
悬赏问题
- ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
- ¥15 活动选择题。最多可以参加几个项目?
- ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
- ¥15 vs2019中数据导出问题
- ¥20 云服务Linux系统TCP-MSS值修改?
- ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
- ¥20 怎么在stm32门禁成品上增加查询记录功能
- ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
- ¥50 NT4.0系统 STOP:0X0000007B
- ¥15 想问一下stata17中这段代码哪里有问题呀