【问题标题】:Get DN from certificate in ASN.1 format从 ASN.1 格式的证书中获取 DN
【发布时间】:2016-09-22 08:39:20
【问题描述】:

我正在尝试从 ASN.1/DER 格式的证书中获取 DN。我已经搜索过 OpenSSL,但仍然找不到获取 DN 的确切函数。

有没有人有这方面的经验或者可以给我指点书籍或任何网站?

【问题讨论】:

  • 请向我们提供最小、完整且可验证的代码。大概点击链接:stackoverflow.com/help/mcve
  • @TheApache 对不起。我目前无法提供任何代码,因为我仍然不知道哪个函数可以获取 ASN.1 格式的 DN。这就是为什么我问是否有人可以指出正确的方向。
  • 检查gnu.org/software/libtasn1,通常用于解析ASN对象。
  • ASN.1 什么? X509 证书?只是 X500 名称的 ASN.1?
  • @vcsjones X509 证书。我需要 ASN.1 格式的 DN,这样我就可以构造 PKCS#7 包装器。至于现在我找到了 X509_get_issuer_name(cert) 但它只是返回我的字符串。

标签: c openssl asn.1 distinguishedname


【解决方案1】:

我已经找到了一种方法来做到这一点。如果有人想这样做,我就放在这里。

X509_NAME * cert_entry = X509_get_issuer_name(cert);    
unsigned char buff[100] = {0};
unsigned char * p = buff;
int i = i2d_X509_NAME(cert_entry,&p);

for(int b = 0;b<i;b++)
{       
    printf("%02X ",buff[b]);
}

这将打印一个十六进制格式。

【讨论】:

    猜你喜欢
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-23
    相关资源
    最近更新 更多