我注意到,带xades4j的杜尼格( durnig )元素X509IssuerName显示了一个格式错误的序列号颁发者值,它显示了一个PrintableString十六进制编码,我搜索xades4j代码,发现问题是在DataGenBaseCertRefs类中,如果您设置了
cert.getIssuerX500Principal().getName(X500Principal.RFC1779)
在generate方法中,您可以解决这个问题,并从中获取一个发行者值:
2.5.4.5=#130b3037393435323131303036
到这个
OID.2.5.4.5=07945211006
发布于 2014-10-17 22:06:38
我不确定改变是否正确。XML声明在编码可分辨名称时应该使用RFC 4514。关于属性类型,RFC上的内容如下:
如果AttributeType被定义为短名称(.)这个短的名字,一个低层,被使用了。否则,numericoid,将AttributeType编码为虚数点-十进制编码,这是对象标识符的 。
反过来,在RFC 4512上将数列定义为:
数列= 1*( DOT数)
关于属性值,其中一条是:
如果AttributeType是虚线十进制形式,则AttributeValue由表示--数字符号('#‘U+0023)字符,后面是X.500 AttributeValue的误码编码的每个八进制的十六进制编码。
我的理解是,由于不知道短名称,所以应该使用十六进制值。你认为如何?
这实际上让我意识到,xades4j使用的是RFC 2253,因为它是getName()的缺省值。。
KeyInfo/X509Data
上包含了一个KeyInfo/X509Data
元素?这和证书裁判不一样吗?https://stackoverflow.com/questions/26361436
复制相似问题