diff --git a/src/libraries/Common/src/System/Security/Cryptography/Asn1/Pkcs12/MacData.xml.cs b/src/libraries/Common/src/System/Security/Cryptography/Asn1/Pkcs12/MacData.xml.cs index 3841b1feab36c9..25b6042299ada6 100644 --- a/src/libraries/Common/src/System/Security/Cryptography/Asn1/Pkcs12/MacData.xml.cs +++ b/src/libraries/Common/src/System/Security/Cryptography/Asn1/Pkcs12/MacData.xml.cs @@ -48,7 +48,8 @@ internal void Encode(AsnWriter writer, Asn1Tag tag) // DEFAULT value handler for IterationCount. { - AsnWriter tmp = new AsnWriter(AsnEncodingRules.DER); + const int AsnManagedIntegerDerMaxEncodeSize = 6; + AsnWriter tmp = new AsnWriter(AsnEncodingRules.DER, initialCapacity: AsnManagedIntegerDerMaxEncodeSize); tmp.WriteInteger(IterationCount); if (!tmp.EncodedValueEquals(DefaultIterationCount)) diff --git a/src/libraries/Common/src/System/Security/Cryptography/Asn1/PssParamsAsn.xml.cs b/src/libraries/Common/src/System/Security/Cryptography/Asn1/PssParamsAsn.xml.cs index 5fae8bd5a49b5c..c14b284d19d3fd 100644 --- a/src/libraries/Common/src/System/Security/Cryptography/Asn1/PssParamsAsn.xml.cs +++ b/src/libraries/Common/src/System/Security/Cryptography/Asn1/PssParamsAsn.xml.cs @@ -99,7 +99,8 @@ internal void Encode(AsnWriter writer, Asn1Tag tag) // DEFAULT value handler for SaltLength. { - AsnWriter tmp = new AsnWriter(AsnEncodingRules.DER); + const int AsnManagedIntegerDerMaxEncodeSize = 6; + AsnWriter tmp = new AsnWriter(AsnEncodingRules.DER, initialCapacity: AsnManagedIntegerDerMaxEncodeSize); tmp.WriteInteger(SaltLength); if (!tmp.EncodedValueEquals(DefaultSaltLength)) @@ -113,7 +114,8 @@ internal void Encode(AsnWriter writer, Asn1Tag tag) // DEFAULT value handler for TrailerField. { - AsnWriter tmp = new AsnWriter(AsnEncodingRules.DER); + const int AsnManagedIntegerDerMaxEncodeSize = 6; + AsnWriter tmp = new AsnWriter(AsnEncodingRules.DER, initialCapacity: AsnManagedIntegerDerMaxEncodeSize); tmp.WriteInteger(TrailerField); if (!tmp.EncodedValueEquals(DefaultTrailerField)) diff --git a/src/libraries/Common/src/System/Security/Cryptography/Asn1/X509ExtensionAsn.xml.cs b/src/libraries/Common/src/System/Security/Cryptography/Asn1/X509ExtensionAsn.xml.cs index 68024d607aeac4..d6c36b63849383 100644 --- a/src/libraries/Common/src/System/Security/Cryptography/Asn1/X509ExtensionAsn.xml.cs +++ b/src/libraries/Common/src/System/Security/Cryptography/Asn1/X509ExtensionAsn.xml.cs @@ -49,7 +49,8 @@ internal void Encode(AsnWriter writer, Asn1Tag tag) // DEFAULT value handler for Critical. { - AsnWriter tmp = new AsnWriter(AsnEncodingRules.DER); + const int AsnBoolDerEncodeSize = 3; + AsnWriter tmp = new AsnWriter(AsnEncodingRules.DER, initialCapacity: AsnBoolDerEncodeSize); tmp.WriteBoolean(Critical); if (!tmp.EncodedValueEquals(DefaultCritical)) diff --git a/src/libraries/Common/src/System/Security/Cryptography/Asn1/asn.xslt b/src/libraries/Common/src/System/Security/Cryptography/Asn1/asn.xslt index fbf29a9ec1dbd4..581a72baa328d0 100644 --- a/src/libraries/Common/src/System/Security/Cryptography/Asn1/asn.xslt +++ b/src/libraries/Common/src/System/Security/Cryptography/Asn1/asn.xslt @@ -276,8 +276,10 @@ namespace // DEFAULT value handler for . - { - AsnWriter tmp = new AsnWriter(AsnEncodingRules.DER); + { + + + @@ -297,6 +299,21 @@ namespace + + + + + + const int AsnBoolDerEncodeSize = 3; + AsnWriter = new AsnWriter(AsnEncodingRules.DER, initialCapacity: AsnBoolDerEncodeSize); + + const int AsnManagedIntegerDerMaxEncodeSize = 6; + AsnWriter = new AsnWriter(AsnEncodingRules.DER, initialCapacity: AsnManagedIntegerDerMaxEncodeSize); + + AsnWriter = new AsnWriter(AsnEncodingRules.DER); + + + @@ -342,8 +359,10 @@ namespace // DEFAULT value handler for . - { - AsnWriter tmp = new AsnWriter(AsnEncodingRules.DER); + { + + + diff --git a/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/Asn1/Rfc3161TimeStampReq.xml.cs b/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/Asn1/Rfc3161TimeStampReq.xml.cs index e195a520c36560..5e1e12f47c6fcb 100644 --- a/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/Asn1/Rfc3161TimeStampReq.xml.cs +++ b/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/Asn1/Rfc3161TimeStampReq.xml.cs @@ -66,7 +66,8 @@ internal void Encode(AsnWriter writer, Asn1Tag tag) // DEFAULT value handler for CertReq. { - AsnWriter tmp = new AsnWriter(AsnEncodingRules.DER); + const int AsnBoolDerEncodeSize = 3; + AsnWriter tmp = new AsnWriter(AsnEncodingRules.DER, initialCapacity: AsnBoolDerEncodeSize); tmp.WriteBoolean(CertReq); if (!tmp.EncodedValueEquals(DefaultCertReq)) diff --git a/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/Asn1/Rfc3161TstInfo.xml.cs b/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/Asn1/Rfc3161TstInfo.xml.cs index 7b60686f04ca9c..918e0a1b81ca21 100644 --- a/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/Asn1/Rfc3161TstInfo.xml.cs +++ b/src/libraries/System.Security.Cryptography.Pkcs/src/System/Security/Cryptography/Pkcs/Asn1/Rfc3161TstInfo.xml.cs @@ -67,7 +67,8 @@ internal void Encode(AsnWriter writer, Asn1Tag tag) // DEFAULT value handler for Ordering. { - AsnWriter tmp = new AsnWriter(AsnEncodingRules.DER); + const int AsnBoolDerEncodeSize = 3; + AsnWriter tmp = new AsnWriter(AsnEncodingRules.DER, initialCapacity: AsnBoolDerEncodeSize); tmp.WriteBoolean(Ordering); if (!tmp.EncodedValueEquals(DefaultOrdering)) diff --git a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/Asn1/BasicConstraintsAsn.xml.cs b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/Asn1/BasicConstraintsAsn.xml.cs index b090305bb23ca2..6debd8dd117cca 100644 --- a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/Asn1/BasicConstraintsAsn.xml.cs +++ b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/Asn1/BasicConstraintsAsn.xml.cs @@ -40,7 +40,8 @@ internal void Encode(AsnWriter writer, Asn1Tag tag) // DEFAULT value handler for CA. { - AsnWriter tmp = new AsnWriter(AsnEncodingRules.DER); + const int AsnBoolDerEncodeSize = 3; + AsnWriter tmp = new AsnWriter(AsnEncodingRules.DER, initialCapacity: AsnBoolDerEncodeSize); tmp.WriteBoolean(CA); if (!tmp.EncodedValueEquals(DefaultCA)) diff --git a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/Asn1/TbsCertificateAsn.xml.cs b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/Asn1/TbsCertificateAsn.xml.cs index a37f1cf74fb060..4e7df30c6ce5d1 100644 --- a/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/Asn1/TbsCertificateAsn.xml.cs +++ b/src/libraries/System.Security.Cryptography/src/System/Security/Cryptography/X509Certificates/Asn1/TbsCertificateAsn.xml.cs @@ -54,7 +54,8 @@ internal void Encode(AsnWriter writer, Asn1Tag tag) // DEFAULT value handler for Version. { - AsnWriter tmp = new AsnWriter(AsnEncodingRules.DER); + const int AsnManagedIntegerDerMaxEncodeSize = 6; + AsnWriter tmp = new AsnWriter(AsnEncodingRules.DER, initialCapacity: AsnManagedIntegerDerMaxEncodeSize); tmp.WriteInteger(Version); if (!tmp.EncodedValueEquals(DefaultVersion))