summary refs log tree commit diff
path: root/crypto/src/asn1/x509/Holder.cs
diff options
context:
space:
mode:
authorPeter Dettman <peter.dettman@bouncycastle.org>2021-02-08 16:41:10 +0700
committerPeter Dettman <peter.dettman@bouncycastle.org>2021-02-08 16:41:10 +0700
commite4fad8fe422ecf0cb5cd6de1d599ab0de63802d4 (patch)
treeb30563a54b219b0d96afb95f7415742c26b753c9 /crypto/src/asn1/x509/Holder.cs
parentImplement TODO checks (diff)
downloadBouncyCastle.NET-ed25519-e4fad8fe422ecf0cb5cd6de1d599ab0de63802d4.tar.xz
Support V1 attribute certificates and holders
Diffstat (limited to 'crypto/src/asn1/x509/Holder.cs')
-rw-r--r--crypto/src/asn1/x509/Holder.cs14
1 files changed, 7 insertions, 7 deletions
diff --git a/crypto/src/asn1/x509/Holder.cs b/crypto/src/asn1/x509/Holder.cs
index b67c0b6c7..90df75a0f 100644
--- a/crypto/src/asn1/x509/Holder.cs
+++ b/crypto/src/asn1/x509/Holder.cs
@@ -27,9 +27,9 @@ namespace Org.BouncyCastle.Asn1.X509
 	 * 
 	 * <pre>
 	 *         subject CHOICE {
-	 *          baseCertificateID [0] IssuerSerial,
+	 *          baseCertificateID [0] EXPLICIT IssuerSerial,
 	 *          -- associated with a Public Key Certificate
-	 *          subjectName [1] GeneralNames },
+	 *          subjectName [1] EXPLICIT GeneralNames },
 	 *          -- associated with a name
 	 * </pre>
 	 * </p>
@@ -74,10 +74,10 @@ namespace Org.BouncyCastle.Asn1.X509
 			switch (tagObj.TagNo)
 			{
 				case 0:
-					baseCertificateID = IssuerSerial.GetInstance(tagObj, false);
+					baseCertificateID = IssuerSerial.GetInstance(tagObj, true);
 					break;
 				case 1:
-					entityName = GeneralNames.GetInstance(tagObj, false);
+					entityName = GeneralNames.GetInstance(tagObj, true);
 					break;
 				default:
 					throw new ArgumentException("unknown tag in Holder");
@@ -228,7 +228,7 @@ namespace Org.BouncyCastle.Asn1.X509
         {
             if (version == 1)
             {
-                Asn1EncodableVector v = new Asn1EncodableVector();
+                Asn1EncodableVector v = new Asn1EncodableVector(3);
                 v.AddOptionalTagged(false, 0, baseCertificateID);
                 v.AddOptionalTagged(false, 1, entityName);
                 v.AddOptionalTagged(false, 2, objectDigestInfo);
@@ -237,10 +237,10 @@ namespace Org.BouncyCastle.Asn1.X509
 
             if (entityName != null)
             {
-                return new DerTaggedObject(false, 1, entityName);
+                return new DerTaggedObject(true, 1, entityName);
             }
 
-            return new DerTaggedObject(false, 0, baseCertificateID);
+            return new DerTaggedObject(true, 0, baseCertificateID);
         }
 	}
 }