summary refs log tree commit diff
path: root/crypto/src/pqc
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/src/pqc')
-rw-r--r--crypto/src/pqc/asn1/CmcePrivateKey.cs7
-rw-r--r--crypto/src/pqc/asn1/CmcePublicKey.cs5
-rw-r--r--crypto/src/pqc/crypto/utils/PqcPrivateKeyInfoFactory.cs13
-rw-r--r--crypto/src/pqc/crypto/utils/PqcSubjectPublicKeyInfoFactory.cs2
4 files changed, 12 insertions, 15 deletions
diff --git a/crypto/src/pqc/asn1/CmcePrivateKey.cs b/crypto/src/pqc/asn1/CmcePrivateKey.cs

index c6ba33352..743b801f5 100644 --- a/crypto/src/pqc/asn1/CmcePrivateKey.cs +++ b/crypto/src/pqc/asn1/CmcePrivateKey.cs
@@ -18,6 +18,7 @@ using Org.BouncyCastle.Utilities; // </pre> namespace Org.BouncyCastle.Pqc.Asn1 { + // TODO[api] Should only be Asn1Encodable public class CmcePrivateKey : Asn1Object { @@ -84,7 +85,7 @@ namespace Org.BouncyCastle.Pqc.Asn1 public Asn1Object ToAsn1Primitive() { - Asn1EncodableVector v = new Asn1EncodableVector(); + Asn1EncodableVector v = new Asn1EncodableVector(7); v.Add(new DerInteger(version)); v.Add(new DerOctetString(delta)); @@ -94,9 +95,9 @@ namespace Org.BouncyCastle.Pqc.Asn1 v.Add(new DerOctetString(s)); // todo optional publickey - if(PublicKey != null) + if (publicKey != null) { - v.Add(new CmcePublicKey(PublicKey.T)); + v.Add(new CmcePublicKey(publicKey.T)); } return new DerSequence(v); diff --git a/crypto/src/pqc/asn1/CmcePublicKey.cs b/crypto/src/pqc/asn1/CmcePublicKey.cs
index 1e417c5df..00a2afe19 100644 --- a/crypto/src/pqc/asn1/CmcePublicKey.cs +++ b/crypto/src/pqc/asn1/CmcePublicKey.cs
@@ -4,6 +4,7 @@ using Org.BouncyCastle.Utilities; namespace Org.BouncyCastle.Pqc.Asn1 { + // TODO[api] Should only be Asn1Encodable public class CmcePublicKey : Asn1Object { @@ -23,9 +24,7 @@ namespace Org.BouncyCastle.Pqc.Asn1 public Asn1Object ToAsn1Primitive() { - Asn1EncodableVector v = new Asn1EncodableVector(); - v.Add(new DerOctetString(t)); - return new DerSequence(v); + return new DerSequence(new DerOctetString(t)); } public static CmcePublicKey GetInstance(Object o) diff --git a/crypto/src/pqc/crypto/utils/PqcPrivateKeyInfoFactory.cs b/crypto/src/pqc/crypto/utils/PqcPrivateKeyInfoFactory.cs
index ce0300cf4..3d1b1b679 100644 --- a/crypto/src/pqc/crypto/utils/PqcPrivateKeyInfoFactory.cs +++ b/crypto/src/pqc/crypto/utils/PqcPrivateKeyInfoFactory.cs
@@ -105,8 +105,7 @@ namespace Org.BouncyCastle.Pqc.Crypto.Utilities #pragma warning restore CS0618 // Type or member is obsolete if (privateKey is FalconPrivateKeyParameters falconPrivateKeyParameters) { - Asn1EncodableVector v = new Asn1EncodableVector(); - + Asn1EncodableVector v = new Asn1EncodableVector(4); v.Add(new DerInteger(1)); v.Add(new DerOctetString(falconPrivateKeyParameters.GetSpolyLittleF())); v.Add(new DerOctetString(falconPrivateKeyParameters.GetG())); @@ -120,8 +119,7 @@ namespace Org.BouncyCastle.Pqc.Crypto.Utilities } if (privateKey is KyberPrivateKeyParameters kyberPrivateKeyParameters) { - Asn1EncodableVector v = new Asn1EncodableVector(); - + Asn1EncodableVector v = new Asn1EncodableVector(4); v.Add(new DerInteger(0)); v.Add(new DerOctetString(kyberPrivateKeyParameters.S)); v.Add(new DerOctetString(kyberPrivateKeyParameters.Hpk)); @@ -130,7 +128,7 @@ namespace Org.BouncyCastle.Pqc.Crypto.Utilities AlgorithmIdentifier algorithmIdentifier = new AlgorithmIdentifier( PqcUtilities.KyberOidLookup(kyberPrivateKeyParameters.Parameters)); - Asn1EncodableVector vPub = new Asn1EncodableVector(); + Asn1EncodableVector vPub = new Asn1EncodableVector(2); vPub.Add(new DerOctetString(kyberPrivateKeyParameters.T)); vPub.Add(new DerOctetString(kyberPrivateKeyParameters.Rho)); @@ -139,8 +137,7 @@ namespace Org.BouncyCastle.Pqc.Crypto.Utilities } if (privateKey is DilithiumPrivateKeyParameters dilithiumPrivateKeyParameters) { - Asn1EncodableVector v = new Asn1EncodableVector(); - + Asn1EncodableVector v = new Asn1EncodableVector(7); v.Add(new DerInteger(0)); v.Add(new DerBitString(dilithiumPrivateKeyParameters.Rho)); v.Add(new DerBitString(dilithiumPrivateKeyParameters.K)); @@ -152,7 +149,7 @@ namespace Org.BouncyCastle.Pqc.Crypto.Utilities AlgorithmIdentifier algorithmIdentifier = new AlgorithmIdentifier( PqcUtilities.DilithiumOidLookup(dilithiumPrivateKeyParameters.Parameters)); - Asn1EncodableVector vPub = new Asn1EncodableVector(); + Asn1EncodableVector vPub = new Asn1EncodableVector(2); vPub.Add(new DerOctetString(dilithiumPrivateKeyParameters.Rho)); vPub.Add(new DerOctetString(dilithiumPrivateKeyParameters.T1)); diff --git a/crypto/src/pqc/crypto/utils/PqcSubjectPublicKeyInfoFactory.cs b/crypto/src/pqc/crypto/utils/PqcSubjectPublicKeyInfoFactory.cs
index 756308460..672108789 100644 --- a/crypto/src/pqc/crypto/utils/PqcSubjectPublicKeyInfoFactory.cs +++ b/crypto/src/pqc/crypto/utils/PqcSubjectPublicKeyInfoFactory.cs
@@ -115,7 +115,7 @@ namespace Org.BouncyCastle.Pqc.Crypto.Utilities { AlgorithmIdentifier algorithmIdentifier = new AlgorithmIdentifier( PqcUtilities.KyberOidLookup(kyberPublicKeyParameters.Parameters)); - Asn1EncodableVector v = new Asn1EncodableVector(); + Asn1EncodableVector v = new Asn1EncodableVector(2); v.Add(new DerOctetString(kyberPublicKeyParameters.T)); v.Add(new DerOctetString(kyberPublicKeyParameters.Rho)); return new SubjectPublicKeyInfo(algorithmIdentifier, new DerSequence(v));