Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
SubjectPublicKeyInfoAsn.cs
Go to the documentation of this file.
2
4
5internal struct SubjectPublicKeyInfoAsn
6{
8
10
11 internal void Encode(AsnWriter writer)
12 {
14 }
15
16 internal void Encode(AsnWriter writer, Asn1Tag tag)
17 {
18 writer.PushSequence(tag);
20 writer.WriteBitString(SubjectPublicKey.Span);
21 writer.PopSequence(tag);
22 }
23
25 {
26 Decode(ref reader, Asn1Tag.Sequence, rebind, out decoded);
27 }
28
30 {
31 try
32 {
33 DecodeCore(ref reader, expectedTag, rebind, out decoded);
34 }
35 catch (AsnContentException inner)
36 {
38 }
39 }
40
42 {
44 System.Formats.Asn1.AsnValueReader reader2 = reader.ReadSequence(expectedTag);
45 ReadOnlySpan<byte> span = rebind.Span;
46 System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn.Decode(ref reader2, rebind, out decoded.Algorithm);
47 if (reader2.TryReadPrimitiveBitString(out var unusedBitCount, out var value))
48 {
49 decoded.SubjectPublicKey = (span.Overlaps(value, out var elementOffset) ? rebind.Slice(elementOffset, value.Length) : ((ReadOnlyMemory<byte>)value.ToArray()));
50 }
51 else
52 {
53 decoded.SubjectPublicKey = reader2.ReadBitString(out unusedBitCount);
54 }
55 reader2.ThrowIfNotEmpty();
56 }
57}
static string Cryptography_Der_Invalid_Encoding
Definition SR.cs:50
Definition SR.cs:7
static readonly Asn1Tag Sequence
Definition Asn1Tag.cs:29
byte[] ReadBitString(out int unusedBitCount, Asn1Tag? expectedTag=null)
bool TryReadPrimitiveBitString(out int unusedBitCount, out ReadOnlySpan< byte > value, Asn1Tag? expectedTag=null)
AsnValueReader ReadSequence(Asn1Tag? expectedTag=null)
unsafe ReadOnlySpan< T > Span
ReadOnlyMemory< T > Slice(int start)
static void Decode(ref AsnValueReader reader, ReadOnlyMemory< byte > rebind, out AlgorithmIdentifierAsn decoded)
System.Security.Cryptography.Asn1.AlgorithmIdentifierAsn Algorithm
static void Decode(ref AsnValueReader reader, ReadOnlyMemory< byte > rebind, out SubjectPublicKeyInfoAsn decoded)
static void Decode(ref System.Formats.Asn1.AsnValueReader reader, ReadOnlyMemory< byte > rebind, out System.Security.Cryptography.Asn1.SubjectPublicKeyInfoAsn decoded)
static void DecodeCore(ref AsnValueReader reader, Asn1Tag expectedTag, ReadOnlyMemory< byte > rebind, out SubjectPublicKeyInfoAsn decoded)
static void DecodeCore(ref System.Formats.Asn1.AsnValueReader reader, Asn1Tag expectedTag, ReadOnlyMemory< byte > rebind, out System.Security.Cryptography.Asn1.SubjectPublicKeyInfoAsn decoded)
static void Decode(ref System.Formats.Asn1.AsnValueReader reader, Asn1Tag expectedTag, ReadOnlyMemory< byte > rebind, out System.Security.Cryptography.Asn1.SubjectPublicKeyInfoAsn decoded)