Hsnitx 2017-03-31 12:16 采纳率: 0%
浏览 1255

如何通过openssl 将公钥 添加到证书中

RT
我现在有一段RSA秘钥,如何通过openssl 添加到我的数字证书中呢?
另外如何才能从这个证书中提取这个证书呢?

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-10-27 19:58
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:
    • 这篇文章:升级了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中这段代码哪里有问题呀