Skip to content

Commit 70557d9

Browse files
MichaelGrafnetterclaudeCopilot
authored
Use System.Text.Json source generator in CborMap.ToJson (#222)
* Use System.Text.Json source generator in CborMap.ToJson Replace reflection-based JsonSerializer.SerializeToElement with source-generated JsonSerializer.Serialize via KeyCredentialSerializationContext, improving AOT compatibility and performance. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * Add missing primitive type metadata to KeyCredentialSerializationContext Co-authored-by: MichaelGrafnetter <8986376+MichaelGrafnetter@users.noreply.github.com> Agent-Logs-Url: https://github.com/MichaelGrafnetter/DSInternals/sessions/83abbe73-ad7e-4eb8-98bc-f5b72da0ed75 --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: MichaelGrafnetter <8986376+MichaelGrafnetter@users.noreply.github.com>
1 parent b0dbfcc commit 70557d9

File tree

41 files changed

+257
-190
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+257
-190
lines changed

Src/DSInternals.ADSI/packages.lock.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,15 @@
22
"version": 2,
33
"dependencies": {
44
".NETFramework,Version=v4.8": {
5+
"Microsoft.NETFramework.ReferenceAssemblies": {
6+
"type": "Direct",
7+
"requested": "[1.0.3, )",
8+
"resolved": "1.0.3",
9+
"contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==",
10+
"dependencies": {
11+
"Microsoft.NETFramework.ReferenceAssemblies.net48": "1.0.3"
12+
}
13+
},
514
"Microsoft.SourceLink.GitHub": {
615
"type": "Direct",
716
"requested": "[8.0.0, )",
@@ -36,6 +45,11 @@
3645
"resolved": "8.0.0",
3746
"contentHash": "bZKfSIKJRXLTuSzLudMFte/8CempWjVamNUR5eHJizsy+iuOuO/k2gnh7W0dHJmYY0tBf+gUErfluCv5mySAOQ=="
3847
},
48+
"Microsoft.NETFramework.ReferenceAssemblies.net48": {
49+
"type": "Transitive",
50+
"resolved": "1.0.3",
51+
"contentHash": "zMk4D+9zyiEWByyQ7oPImPN/Jhpj166Ky0Nlla4eXlNL8hI/BtSJsgR8Inldd4NNpIAH3oh8yym0W2DrhXdSLQ=="
52+
},
3953
"Microsoft.SourceLink.Common": {
4054
"type": "Transitive",
4155
"resolved": "8.0.0",

Src/DSInternals.Common.Test/packages.lock.json

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,15 @@
1111
"Microsoft.CodeCoverage": "17.13.0"
1212
}
1313
},
14+
"Microsoft.NETFramework.ReferenceAssemblies": {
15+
"type": "Direct",
16+
"requested": "[1.0.3, )",
17+
"resolved": "1.0.3",
18+
"contentHash": "vUc9Npcs14QsyOD01tnv/m8sQUnGTGOw1BCmKcv77LBJY7OxhJ+zJF7UD/sCL3lYNFuqmQEVlkfS4Quif6FyYg==",
19+
"dependencies": {
20+
"Microsoft.NETFramework.ReferenceAssemblies.net48": "1.0.3"
21+
}
22+
},
1423
"Microsoft.SourceLink.GitHub": {
1524
"type": "Direct",
1625
"requested": "[8.0.0, )",
@@ -118,6 +127,11 @@
118127
"System.Text.Json": "6.0.11"
119128
}
120129
},
130+
"Microsoft.NETFramework.ReferenceAssemblies.net48": {
131+
"type": "Transitive",
132+
"resolved": "1.0.3",
133+
"contentHash": "zMk4D+9zyiEWByyQ7oPImPN/Jhpj166Ky0Nlla4eXlNL8hI/BtSJsgR8Inldd4NNpIAH3oh8yym0W2DrhXdSLQ=="
134+
},
121135
"Microsoft.SourceLink.Common": {
122136
"type": "Transitive",
123137
"resolved": "8.0.0",

Src/DSInternals.Common/Cryptography/Asn1/Pkcs12/CertBag.asn1.xml.generated.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,10 @@ internal static CertBag Decode(ReadOnlyMemory<byte> encoded, AsnEncodingRules ru
1818
{
1919
return Decode(Asn1Tag.Sequence, encoded, ruleSet);
2020
}
21-
21+
2222
internal static CertBag Decode(Asn1Tag expectedTag, ReadOnlyMemory<byte> encoded, AsnEncodingRules ruleSet)
2323
{
2424
AsnReader reader = new AsnReader(encoded, ruleSet);
25-
2625
Decode(reader, expectedTag, out CertBag decoded);
2726
reader.ThrowIfNotEmpty();
2827
return decoded;
@@ -51,7 +50,6 @@ internal static void Decode(AsnReader reader, Asn1Tag expectedTag, out CertBag d
5150
decoded.CertValue = explicitReader.ReadEncodedValue();
5251
explicitReader.ThrowIfNotEmpty();
5352

54-
5553
sequenceReader.ThrowIfNotEmpty();
5654
}
5755
}

Src/DSInternals.Common/Cryptography/Asn1/Pkcs12/MacData.asn1.xml.generated.cs

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ namespace DSInternals.Common.Cryptography.Asn1.Pkcs12;
1111
internal partial struct MacData
1212
{
1313
private static readonly byte[] s_defaultIterationCount = { 0x02, 0x01, 0x01 };
14-
14+
1515
internal DSInternals.Common.Cryptography.Asn1.Pkcs1.DigestInfo Mac;
1616
internal ReadOnlyMemory<byte> MacSalt;
1717
internal int IterationCount;
@@ -32,17 +32,16 @@ static MacData()
3232
reader.ThrowIfNotEmpty();
3333
}
3434
#endif
35-
35+
3636

3737
internal static MacData Decode(ReadOnlyMemory<byte> encoded, AsnEncodingRules ruleSet)
3838
{
3939
return Decode(Asn1Tag.Sequence, encoded, ruleSet);
4040
}
41-
41+
4242
internal static MacData Decode(Asn1Tag expectedTag, ReadOnlyMemory<byte> encoded, AsnEncodingRules ruleSet)
4343
{
4444
AsnReader reader = new AsnReader(encoded, ruleSet);
45-
4645
Decode(reader, expectedTag, out MacData decoded);
4746
reader.ThrowIfNotEmpty();
4847
return decoded;
@@ -66,8 +65,8 @@ internal static void Decode(AsnReader reader, Asn1Tag expectedTag, out MacData d
6665
AsnReader defaultReader;
6766

6867
DSInternals.Common.Cryptography.Asn1.Pkcs1.DigestInfo.Decode(sequenceReader, out decoded.Mac);
69-
decoded.MacSalt = sequenceReader.ReadOctetString();
70-
68+
decoded.MacSalt = sequenceReader.ReadOctetString();
69+
7170

7271
if (sequenceReader.HasData && sequenceReader.PeekTag().HasSameClassAndValue(Asn1Tag.Integer))
7372
{
@@ -89,7 +88,6 @@ internal static void Decode(AsnReader reader, Asn1Tag expectedTag, out MacData d
8988

9089
}
9190

92-
9391
sequenceReader.ThrowIfNotEmpty();
9492
}
9593
}

Src/DSInternals.Common/Cryptography/Asn1/Pkcs12/SafeBag.asn1.xml.generated.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,10 @@ internal static SafeBag Decode(ReadOnlyMemory<byte> encoded, AsnEncodingRules ru
2020
{
2121
return Decode(Asn1Tag.Sequence, encoded, ruleSet);
2222
}
23-
23+
2424
internal static SafeBag Decode(Asn1Tag expectedTag, ReadOnlyMemory<byte> encoded, AsnEncodingRules ruleSet)
2525
{
2626
AsnReader reader = new AsnReader(encoded, ruleSet);
27-
2827
Decode(reader, expectedTag, out SafeBag decoded);
2928
reader.ThrowIfNotEmpty();
3029
return decoded;
@@ -66,7 +65,7 @@ internal static void Decode(AsnReader reader, Asn1Tag expectedTag, out SafeBag d
6665

6766
while (collectionReader.HasData)
6867
{
69-
DSInternals.Common.Cryptography.Asn1.Pkcs7.Attribute.Decode(collectionReader, out tmpItem);
68+
DSInternals.Common.Cryptography.Asn1.Pkcs7.Attribute.Decode(collectionReader, out tmpItem);
7069
tmpList.Add(tmpItem);
7170
}
7271

@@ -75,7 +74,6 @@ internal static void Decode(AsnReader reader, Asn1Tag expectedTag, out SafeBag d
7574

7675
}
7776

78-
7977
sequenceReader.ThrowIfNotEmpty();
8078
}
8179
}

Src/DSInternals.Common/Cryptography/Asn1/Pkcs12/SecretBag.asn1.xml.generated.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,10 @@ internal static SecretBag Decode(ReadOnlyMemory<byte> encoded, AsnEncodingRules
1818
{
1919
return Decode(Asn1Tag.Sequence, encoded, ruleSet);
2020
}
21-
21+
2222
internal static SecretBag Decode(Asn1Tag expectedTag, ReadOnlyMemory<byte> encoded, AsnEncodingRules ruleSet)
2323
{
2424
AsnReader reader = new AsnReader(encoded, ruleSet);
25-
2625
Decode(reader, expectedTag, out SecretBag decoded);
2726
reader.ThrowIfNotEmpty();
2827
return decoded;
@@ -51,7 +50,6 @@ internal static void Decode(AsnReader reader, Asn1Tag expectedTag, out SecretBag
5150
decoded.SecretValue = explicitReader.ReadEncodedValue();
5251
explicitReader.ThrowIfNotEmpty();
5352

54-
5553
sequenceReader.ThrowIfNotEmpty();
5654
}
5755
}

Src/DSInternals.Common/Cryptography/Asn1/Pkcs7/Attribute.asn1.xml.generated.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,10 @@ internal static Attribute Decode(ReadOnlyMemory<byte> encoded, AsnEncodingRules
1919
{
2020
return Decode(Asn1Tag.Sequence, encoded, ruleSet);
2121
}
22-
22+
2323
internal static Attribute Decode(Asn1Tag expectedTag, ReadOnlyMemory<byte> encoded, AsnEncodingRules ruleSet)
2424
{
2525
AsnReader reader = new AsnReader(encoded, ruleSet);
26-
2726
Decode(reader, expectedTag, out Attribute decoded);
2827
reader.ThrowIfNotEmpty();
2928
return decoded;
@@ -56,14 +55,13 @@ internal static void Decode(AsnReader reader, Asn1Tag expectedTag, out Attribute
5655

5756
while (collectionReader.HasData)
5857
{
59-
tmpItem = collectionReader.ReadEncodedValue();
58+
tmpItem = collectionReader.ReadEncodedValue();
6059
tmpList.Add(tmpItem);
6160
}
6261

6362
decoded.AttrValues = tmpList.ToArray();
6463
}
6564

66-
6765
sequenceReader.ThrowIfNotEmpty();
6866
}
6967
}

Src/DSInternals.Common/Cryptography/Asn1/Pkcs7/CertificateChoice.asn1.xml.generated.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ static CertificateChoice()
4141
internal static CertificateChoice Decode(ReadOnlyMemory<byte> encoded, AsnEncodingRules ruleSet)
4242
{
4343
AsnReader reader = new AsnReader(encoded, ruleSet);
44-
4544
Decode(reader, out CertificateChoice decoded);
4645
reader.ThrowIfNotEmpty();
4746
return decoded;

Src/DSInternals.Common/Cryptography/Asn1/Pkcs7/EncapsulatedContentInfo.asn1.xml.generated.cs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,10 @@ internal static EncapsulatedContentInfo Decode(ReadOnlyMemory<byte> encoded, Asn
1818
{
1919
return Decode(Asn1Tag.Sequence, encoded, ruleSet);
2020
}
21-
21+
2222
internal static EncapsulatedContentInfo Decode(Asn1Tag expectedTag, ReadOnlyMemory<byte> encoded, AsnEncodingRules ruleSet)
2323
{
2424
AsnReader reader = new AsnReader(encoded, ruleSet);
25-
2625
Decode(reader, expectedTag, out EncapsulatedContentInfo decoded);
2726
reader.ThrowIfNotEmpty();
2827
return decoded;
@@ -54,7 +53,6 @@ internal static void Decode(AsnReader reader, Asn1Tag expectedTag, out Encapsula
5453
explicitReader.ThrowIfNotEmpty();
5554
}
5655

57-
5856
sequenceReader.ThrowIfNotEmpty();
5957
}
6058
}

Src/DSInternals.Common/Cryptography/Asn1/Pkcs7/EncryptedContentInfo.asn1.xml.generated.cs

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,10 @@ internal static EncryptedContentInfo Decode(ReadOnlyMemory<byte> encoded, AsnEnc
1919
{
2020
return Decode(Asn1Tag.Sequence, encoded, ruleSet);
2121
}
22-
22+
2323
internal static EncryptedContentInfo Decode(Asn1Tag expectedTag, ReadOnlyMemory<byte> encoded, AsnEncodingRules ruleSet)
2424
{
2525
AsnReader reader = new AsnReader(encoded, ruleSet);
26-
2726
Decode(reader, expectedTag, out EncryptedContentInfo decoded);
2827
reader.ThrowIfNotEmpty();
2928
return decoded;
@@ -50,11 +49,10 @@ internal static void Decode(AsnReader reader, Asn1Tag expectedTag, out Encrypted
5049

5150
if (sequenceReader.HasData && sequenceReader.PeekTag().HasSameClassAndValue(new Asn1Tag(TagClass.ContextSpecific, 0)))
5251
{
53-
decoded.EncryptedContent = sequenceReader.ReadOctetString(new Asn1Tag(TagClass.ContextSpecific, 0));
54-
52+
decoded.EncryptedContent = sequenceReader.ReadOctetString(new Asn1Tag(TagClass.ContextSpecific, 0));
53+
5554
}
5655

57-
5856
sequenceReader.ThrowIfNotEmpty();
5957
}
6058
}

0 commit comments

Comments
 (0)