Skip to content

Commit de7a2f0

Browse files
committed
Clarify tagging of certIssuer field (CHOICE type)
1 parent e855013 commit de7a2f0

File tree

2 files changed

+3
-7
lines changed

2 files changed

+3
-7
lines changed

core/src/main/java/org/bouncycastle/asn1/bc/LinkedCertificate.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ private LinkedCertificate(ASN1Sequence seq)
5959
switch (tagged.getTagNo())
6060
{
6161
case 0:
62-
certIssuer = X500Name.getInstance(tagged, false);
62+
certIssuer = X500Name.getInstance(tagged, true); // CHOICE
6363
break;
6464
case 1:
6565
cACerts = GeneralNames.getInstance(tagged, false);
@@ -114,7 +114,7 @@ public ASN1Primitive toASN1Primitive()
114114

115115
if (certIssuer != null)
116116
{
117-
v.add(new DERTaggedObject(false, 0, certIssuer));
117+
v.add(new DERTaggedObject(true, 0, certIssuer)); // CHOICE
118118
}
119119
if (cACerts != null)
120120
{

core/src/test/java/org/bouncycastle/asn1/test/LinkedCertificateTest.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,11 +70,7 @@ private void checkConstruction(
7070

7171
checkValues(linked, digestInfo, certLocation, certIssuer, caCerts);
7272

73-
ASN1InputStream aIn = new ASN1InputStream(linked.toASN1Primitive().getEncoded());
74-
75-
ASN1Sequence seq = (ASN1Sequence)aIn.readObject();
76-
77-
linked = LinkedCertificate.getInstance(seq);
73+
linked = LinkedCertificate.getInstance(linked.getEncoded());
7874

7975
checkValues(linked, digestInfo, certLocation, certIssuer, caCerts);
8076
}

0 commit comments

Comments
 (0)