diff --git a/src/libraries/Common/src/System/Security/Cryptography/RSAAppleCrypto.cs b/src/libraries/Common/src/System/Security/Cryptography/RSAAppleCrypto.cs index 4842ab98bcce17..beba3ef856f373 100644 --- a/src/libraries/Common/src/System/Security/Cryptography/RSAAppleCrypto.cs +++ b/src/libraries/Common/src/System/Security/Cryptography/RSAAppleCrypto.cs @@ -99,8 +99,8 @@ public override RSAParameters ExportParameters(bool includePrivateParameters) // is used. RSAParameters key; - AsnReader reader = new AsnReader(keyBlob, AsnEncodingRules.BER); - AsnReader sequenceReader = reader.ReadSequence(); + ValueAsnReader reader = new(keyBlob, AsnEncodingRules.BER); + ValueAsnReader sequenceReader = reader.ReadSequence(); if (sequenceReader.PeekTag().Equals(Asn1Tag.Integer)) { diff --git a/src/libraries/Common/src/System/Security/Cryptography/RSAAppleCrypto.macOS.cs b/src/libraries/Common/src/System/Security/Cryptography/RSAAppleCrypto.macOS.cs index 68d375f23c68f7..2fbebb5a7d4495 100644 --- a/src/libraries/Common/src/System/Security/Cryptography/RSAAppleCrypto.macOS.cs +++ b/src/libraries/Common/src/System/Security/Cryptography/RSAAppleCrypto.macOS.cs @@ -39,8 +39,8 @@ private static RSAParameters ExportParametersFromLegacyKey(SecKeyPair keys, bool // is used. RSAParameters key; - AsnReader reader = new AsnReader(keyBlob, AsnEncodingRules.BER); - AsnReader sequenceReader = reader.ReadSequence(); + ValueAsnReader reader = new(keyBlob, AsnEncodingRules.BER); + ValueAsnReader sequenceReader = reader.ReadSequence(); if (sequenceReader.PeekTag().Equals(Asn1Tag.Integer)) { diff --git a/src/libraries/System.Security.Cryptography.Pkcs/src/Internal/Cryptography/Pal/AnyOS/ManagedPal.cs b/src/libraries/System.Security.Cryptography.Pkcs/src/Internal/Cryptography/Pal/AnyOS/ManagedPal.cs index 242753de92a0e3..77a2a95af31050 100644 --- a/src/libraries/System.Security.Cryptography.Pkcs/src/Internal/Cryptography/Pal/AnyOS/ManagedPal.cs +++ b/src/libraries/System.Security.Cryptography.Pkcs/src/Internal/Cryptography/Pal/AnyOS/ManagedPal.cs @@ -122,7 +122,7 @@ private static SymmetricAlgorithm OpenAlgorithm(AlgorithmIdentifierAsn contentEn try { - AsnReader reader = new AsnReader(contentEncryptionAlgorithm.Parameters.Value, AsnEncodingRules.BER); + ValueAsnReader reader = new(contentEncryptionAlgorithm.Parameters.Value.Span, AsnEncodingRules.BER); alg.IV = reader.ReadOctetString(); if (alg.IV.Length != alg.BlockSize / 8) diff --git a/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/CmsSignature.cs b/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/CmsSignature.cs index fec172dab43ecb..78f2da64235fad 100644 --- a/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/CmsSignature.cs +++ b/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/CmsSignature.cs @@ -178,8 +178,8 @@ private static bool DsaDerToIeee( try { - AsnReader reader = new AsnReader(derSignature, AsnEncodingRules.DER); - AsnReader sequence = reader.ReadSequence(); + ValueAsnReader reader = new(derSignature.Span, AsnEncodingRules.DER); + ValueAsnReader sequence = reader.ReadSequence(); if (reader.HasData) { @@ -191,7 +191,7 @@ private static bool DsaDerToIeee( // partial-fill gymnastics. ieeeSignature.Clear(); - ReadOnlySpan val = sequence.ReadIntegerBytes().Span; + ReadOnlySpan val = sequence.ReadIntegerBytes(); if (val.Length > fieldSize && val[0] == 0) { @@ -203,7 +203,7 @@ private static bool DsaDerToIeee( val.CopyTo(ieeeSignature.Slice(fieldSize - val.Length, val.Length)); } - val = sequence.ReadIntegerBytes().Span; + val = sequence.ReadIntegerBytes(); if (val.Length > fieldSize && val[0] == 0) { diff --git a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/EccKeyFormatHelper.cs b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/EccKeyFormatHelper.cs index 9671592149e621..25826217d325c2 100644 --- a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/EccKeyFormatHelper.cs +++ b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/EccKeyFormatHelper.cs @@ -313,8 +313,8 @@ private static ECCurve GetSpecifiedECCurveCore(SpecifiedECDomain specifiedParame { case Oids.EcPrimeField: prime = true; - AsnReader primeReader = new AsnReader(specifiedParameters.FieldID.Parameters, AsnEncodingRules.BER); - ReadOnlySpan primeValue = primeReader.ReadIntegerBytes().Span; + ValueAsnReader primeReader = new(specifiedParameters.FieldID.Parameters.Span, AsnEncodingRules.BER); + ReadOnlySpan primeValue = primeReader.ReadIntegerBytes(); primeReader.ThrowIfNotEmpty(); if (primeValue[0] == 0) @@ -331,8 +331,8 @@ private static ECCurve GetSpecifiedECCurveCore(SpecifiedECDomain specifiedParame break; case Oids.EcChar2Field: prime = false; - AsnReader char2Reader = new AsnReader(specifiedParameters.FieldID.Parameters, AsnEncodingRules.BER); - AsnReader innerReader = char2Reader.ReadSequence(); + ValueAsnReader char2Reader = new(specifiedParameters.FieldID.Parameters.Span, AsnEncodingRules.BER); + ValueAsnReader innerReader = char2Reader.ReadSequence(); char2Reader.ThrowIfNotEmpty(); // Characteristic-two ::= SEQUENCE @@ -368,7 +368,7 @@ private static ECCurve GetSpecifiedECCurveCore(SpecifiedECDomain specifiedParame // k2 INTEGER, -- k2 > k1 // k3 INTEGER -- k3 > k2 // } - AsnReader pentanomialReader = innerReader.ReadSequence(); + ValueAsnReader pentanomialReader = innerReader.ReadSequence(); if (!pentanomialReader.TryReadInt32(out k1) || !pentanomialReader.TryReadInt32(out k2) || diff --git a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/ManagedCertificateFinder.cs b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/ManagedCertificateFinder.cs index 49791c1c0e8040..19776a35767389 100644 --- a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/ManagedCertificateFinder.cs +++ b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/ManagedCertificateFinder.cs @@ -160,7 +160,7 @@ public void FindByTemplateName(string templateName) try { // Try a V1 template structure, just a string: - AsnReader reader = new AsnReader(ext.RawData, AsnEncodingRules.DER); + ValueAsnReader reader = new(ext.RawData, AsnEncodingRules.DER); decodedName = reader.ReadAnyAsnString(); reader.ThrowIfNotEmpty(); } diff --git a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/X509EnhancedKeyUsageExtension.cs b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/X509EnhancedKeyUsageExtension.cs index caccee402b0fc9..48a651da50c01d 100644 --- a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/X509EnhancedKeyUsageExtension.cs +++ b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/X509EnhancedKeyUsageExtension.cs @@ -87,8 +87,8 @@ private static void DecodeX509EnhancedKeyUsageExtension(byte[] encoded, out OidC try { - AsnReader reader = new AsnReader(encoded, AsnEncodingRules.BER); - AsnReader sequenceReader = reader.ReadSequence(); + ValueAsnReader reader = new(encoded, AsnEncodingRules.BER); + ValueAsnReader sequenceReader = reader.ReadSequence(); reader.ThrowIfNotEmpty(); usages = new OidCollection();