当前位置: 首页 > 知识库问答 >
问题:

如何从PKCS10请求中提取SubjectAlternativeNames

姬博瀚
2023-03-14

我想从JAVA中的PKCS10请求中提取subject alternative name(SAN)。

首先,我使用bouncycastle获得PKCS10CertificationRequest,如下所示:

PKCS10CertificationRequest certificationRequest = getPKCS10CertificationRequest(csr);

但是,我不知道是否有一种方法可以从认证请求中提取SAN值。

需要帮忙吗?

共有1个答案

司寇高洁
2023-03-14
    byte[] der = Files.readAllBytes(Paths.get(args[0])); // for example
    // assuming all BouncyCastle classes imported as needed and 
    // given a CSR in der, to get the SAN extension as an object
    // (minimal error handling, you may want to improve)
    Attribute[] attrs = new PKCS10CertificationRequest(der).getAttributes(PKCSObjectIdentifiers.pkcs_9_at_extensionRequest);
    if( attrs.length != 1 ) throw new Exception("bad");
    ASN1Encodable[] valus = attrs[0].getAttributeValues();
    if( valus.length != 1 ) throw new Exception("bad");
    Extension extn = Extensions.getInstance(valus[0]).getExtension(Extension.subjectAlternativeName);
    if( extn == null ) throw new Exception("missing");
    // to get the _value_ of the extension, now extn.getExtnValus().getOctets()
    // to _use_ the _value_ of the extension, parse as GeneralNames:
    GeneralNames sanv = GeneralNames.getInstance(extn.getExtnValue().getOctets());
    for( GeneralName item : sanv.getNames() ){ // example of possible usage
        System.out.println (item.toString()); // you probably want something else
    }
 类似资料:
  • 我有登录请求,在请求中我获得了JSESSIONID和XSRF-TOKEN作为Cookie数据,如下所示 如果需要,如何从响应中提取JSESSIONID,以便在注册Cookie中传递该变量 在此处输入图像描述

  • 问题内容: 我想从中的输入xml中提取和标签的值。和值是在利用随机数函数运行时生成的。请在下面附件中找到该问题的屏幕截图: 向Jmeter请求选项卡快照。 提前致谢! 问题答案: 由于您正在生成数据,因此我想您可以访问XML请求数据。 因此,在这种情况下,您可以使用CSV数据集config设置从CSV提取的那两个字段变量。 如果使用JMeter __Random函数生成它们,则可以使用以下语法:

  • 问题内容: 我已经环顾了几天,无法解决这个问题。基本上,我正在将图像上传到服务器并获得ID作为回报,问题是我无法弄清楚如何提取此ID并将其更改为准备好保存到数据库的String。 程式码 这是我得到的输出 问题答案: 您正在接收JSON;您已经使用该方法将其解码为Python结构: 您可以将其视为任何其他Python列表;内容只是一个字典,因此另一个字典键可以获取值: 当您知道上传了多少张图像时,

  • 我正在使用curl发出一个POST请求,如下所示 但在servlet中,我无法获取任何数据。 有什么建议吗?还有一种在数据内部获取数据的更好方法,如?

  • 我正在构建一个Java的grpc服务器,我很难得到请求头。proto文件是使用Pro buf-maven-plugin编译的,基于生成的存根,我无法访问上下文或请求元数据。 我还尝试在消息请求中定义一个键/值列表,希望grpc能够处理头映射,但目前为止没有成功。 知道我怎么能拿到标题吗? 谢谢 我的原型文件内容: 服务器端实现如下所示: 版本请求。getHeadersCount()始终返回0,尽管

  • 我在POST请求中从角应用程序发送表单数据到我的Azure函数,这些函数在java中编译。 客户端看起来像这样: 当物品接收到azure功能时 功能的目的是通过firebase向android应用程序发送推送通知。 带有HTTP触发器的azure函数如下所示: 当我运行我得到: ------WebKitFormBoundary2gNlxQx5pqyAeDL3内容处置:表单数据。。。。 我很高兴知道