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))