23 int num = input.Length / 2;
26 asnWriter.WriteKeyParameterInteger(
input.Slice(0, num));
27 asnWriter.WriteKeyParameterInteger(
input.Slice(num, num));
36 byte[]
array =
new byte[num2];
74 int num2 = 2 + GetDerLengthLength(num) + num;
76 return 2 + GetDerLengthLength(num3) + num3;
77 static int GetDerLengthLength(
int payloadLength)
79 if (payloadLength <= 127)
83 if (payloadLength <= 255)
87 if (payloadLength <= 65535)
91 if (payloadLength <= 16777215)
101 return targetFormat
switch
103 DSASignatureFormat.IeeeP1363FixedFieldConcatenation => signature,
111 return currentFormat
switch
113 DSASignatureFormat.IeeeP1363FixedFieldConcatenation => signature.
ToArray(),
121 return (bitLength + 7) / 8;
128 if (signatureField.
Length != response.
Length + 1 || signatureField[0] != 0 || signatureField[1] <= 127)
132 signatureField = signatureField.
Slice(1);
134 int num = response.Length - signatureField.
Length;
135 response.
Slice(0, num).Clear();
143 if (fieldSizeBits == 0)
145 fieldSizeBits = dsa.
ExportParameters(includePrivateParameters:
false).
Q.Length * 8;
static byte[] ConvertIeee1363ToDer(ReadOnlySpan< byte > input)
static int GetMaxDerSignatureSize(int fieldSizeBits)
static int BitsToBytes(int bitLength)
static void CopySignatureField(ReadOnlySpan< byte > signatureField, Span< byte > response)
static byte[] ConvertDerToIeee1363(ReadOnlySpan< byte > input, int fieldSizeBits)
static byte[] ConvertSignatureToIeeeP1363(this ECDsa ecdsa, DSASignatureFormat currentFormat, ReadOnlySpan< byte > signature)
static int ConvertDerToIeee1363(ReadOnlySpan< byte > input, int fieldSizeBits, Span< byte > destination)
static bool TryConvertIeee1363ToDer(ReadOnlySpan< byte > input, Span< byte > destination, out int bytesWritten)
static byte[] ConvertFromIeeeP1363Signature(byte[] signature, DSASignatureFormat targetFormat)
static byte[] ConvertSignatureToIeeeP1363(this DSA dsa, DSASignatureFormat currentFormat, ReadOnlySpan< byte > signature, int fieldSizeBits=0)
static byte[] ConvertSignatureToIeeeP1363(DSASignatureFormat currentFormat, ReadOnlySpan< byte > signature, int fieldSizeBits)
static AsnWriter WriteIeee1363ToDer(ReadOnlySpan< byte > input)
static string Cryptography_Der_Invalid_Encoding
static string Cryptography_UnknownSignatureFormat
DSAParameters ExportParameters(bool includePrivateParameters)
void CopyTo(Span< T > destination)
ReadOnlySpan< T > Slice(int start)
Span< T > Slice(int start)