From 876a97d7d652b1c688e0b72e229bc38779609724 Mon Sep 17 00:00:00 2001 From: Kevin Jones Date: Mon, 6 Feb 2023 13:07:54 -0500 Subject: [PATCH] Use initialCapacity in ASN.1 templates for default int/bool --- .../Cryptography/Asn1/Pkcs12/MacData.xml.cs | 3 ++- .../Security/Cryptography/Asn1/PssParamsAsn.xml.cs | 6 +++-- .../Cryptography/Asn1/X509ExtensionAsn.xml.cs | 3 ++- .../src/System/Security/Cryptography/Asn1/asn.xslt | 27 ++++++++++++++++++---- .../Pkcs/Asn1/Rfc3161TimeStampReq.xml.cs | 3 ++- .../Cryptography/Pkcs/Asn1/Rfc3161TstInfo.xml.cs | 3 ++- .../Asn1/BasicConstraintsAsn.xml.cs | 3 ++- .../X509Certificates/Asn1/TbsCertificateAsn.xml.cs | 3 ++- 8 files changed, 39 insertions(+), 12 deletions(-) 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 3841b1f..25b6042 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 @@ namespace System.Security.Cryptography.Asn1.Pkcs12 // 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 5fae8bd..c14b284 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 @@ namespace System.Security.Cryptography.Asn1 // 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 @@ namespace System.Security.Cryptography.Asn1 // 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 68024d6..d6c36b6 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 @@ namespace System.Security.Cryptography.Asn1 // 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 fbf29a9..581a72b 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 e195a52..5e1e12f 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 @@ namespace System.Security.Cryptography.Pkcs.Asn1 // 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 7b60686..918e0a1 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 @@ namespace System.Security.Cryptography.Pkcs.Asn1 // 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 b090305..6debd8d 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 @@ namespace System.Security.Cryptography.X509Certificates.Asn1 // 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 a37f1cf..4e7df30 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 @@ namespace System.Security.Cryptography.X509Certificates.Asn1 // 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)) -- 2.7.4