objective-c - C 中的 OpenSSL Diffie Hellman DER 编码

标签 objective-c c openssl asn.1 diffie-hellman

我有一个问题,过去两天都在寻找答案。

我用 C 中的 OpenSSL 生成了一个 DH 对象(更具体的 Objective-C,但我认为没有类似的东西),现在可以访问 Bignums 的 p、q 和 publickey 值。我需要将这些值作为 ASN.1 DER 编码作为一个 base64 字符串发送到服务器。

在 Android 客户端上,重要的步骤是 .getPublic().getEncoded(),然后是 base64 编码。 ( 是带有 key 协议(protocol)的东西)

我如何在 c 或 objective-c 上做到这一点?代码示例会非常非常棒。

最佳答案

对于DER编码,你可以i2d_DHParams可以解决你的目的。

假设你在dh中有DH参数,那么你可以调用

  int len;
  len  = i2d_DHParams (dh, &buf);
  //It should write encoded dh to buf and len should be number of bytes written.

可以看到DH方法here .

关于objective-c - C 中的 OpenSSL Diffie Hellman DER 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15838381/

相关文章:

objective-c - 为什么 Objective-C 使用 YES/NO 宏约定而不是 true/false?

ios - 使用 UIDocumentInteractionController 时点击 "Open in Instagram"时发生崩溃

ios - 如何通过 Storyboard加载 nib 文件?

ios - 如何创建多 ImageView 设计?

C- fgets() 删除用户输入

C# SslStream 抛出 "Verification failure during handshake"

c - 用于 MSP430FR5969 的串口

c - 我的二维数组之一出现段错误 (11)?

python - 我如何(成功地)从命令行 openSSL 解码编码密码?

openssl - 使用 openssl verify 验证证书链