创建具有指定 x509certificate
和可选 nameconstraints 的 trustanchor
实例,在验证 x.509 证书路径时,该 nameconstraints 用作额外的限制条件。
以 byte 数组的形式指定该 nameconstraints。此 byte 数组应该包含 der 编码形式的 nameconstraints,因为它们将出现在 rfc 2459 和 x.509 内所定义的 nameconstraints 结构中。此结构的 asn.1 定义如下。
nameconstraints ::= sequence {
permittedsubtrees [0] generalsubtrees optional,
excludedsubtrees [1] generalsubtrees optional }
generalsubtrees ::= sequence size (1..max) of generalsubtree
generalsubtree ::= sequence {
base generalname,
minimum [0] basedistance default 0,
maximum [1] basedistance optional }
basedistance ::= integer (0..max)
generalname ::= choice {
othername [0] othername,
rfc822name [1] ia5string,
dnsname [2] ia5string,
x400address [3] oraddress,
directoryname [4] name,
edipartyname [5] edipartyname,
uniformresourceidentifier [6] ia5string,
ipaddress [7] octet string,
registeredid [8] object identifier}
注意,为了防止后续修改,将复制所提供的 nameconstraints byte 数组。
- 参数:
trustedcert
- 受信任的 x509certificate
nameconstraints
- 一个 byte 数组,包含为检查 nameconstraints 所使用的 nameconstraints 扩展的 asn.1 der 编码。只包括该扩展的值,不包括 oid 或关键程度标志。指定 null
可省略该参数。
- 抛出:
illegalargumentexception
- 如果无法解码该 nameconstraints
nullpointerexception
- 如果指定的 x509certificate
为 null