9 private static readonly
string[]
s_validOids =
new string[1] {
"1.2.840.10040.4.1" };
13 if (!algId.Parameters.HasValue)
20 P = dssParms.
P.
ToByteArray(isUnsigned:
true, isBigEndian:
true),
21 Q = dssParms.
Q.
ToByteArray(isUnsigned:
true, isBigEndian:
true)
23 ret.G = dssParms.
G.ExportKeyParameter(ret.P.Length);
29 if (bytesConsumed != xBytes.
Length)
33 bigInteger =
new BigInteger(
value, isUnsigned:
true, isBigEndian:
true);
39 ret.X = bigInteger.ExportKeyParameter(ret.Q.Length);
41 ret.Y = value2.ExportKeyParameter(ret.P.Length);
50 if (bytesConsumed != yBytes.
Length)
59 if (!algId.Parameters.HasValue)
66 P = dssParms.
P.
ToByteArray(isUnsigned:
true, isBigEndian:
true),
67 Q = dssParms.
Q.
ToByteArray(isUnsigned:
true, isBigEndian:
true)
69 ret.G = dssParms.
G.ExportKeyParameter(ret.P.Length);
70 ret.Y =
value.ExportKeyParameter(ret.P.Length);
117 writer.WriteObjectIdentifier(
"1.2.840.10040.4.1");
119 writer.WriteKeyParameterInteger(dsaParameters.P);
120 writer.WriteKeyParameterInteger(dsaParameters.Q);
121 writer.WriteKeyParameterInteger(dsaParameters.G);
131 asnWriter.WriteKeyParameterInteger(component);
137 writer.WriteBitString(
array.AsSpan(0, bytesWritten));
141 using (
writer.PushOctetString())
143 writer.WriteKeyParameterInteger(component);
static string Cryptography_Der_Invalid_Encoding
static void Return(byte[] array, int clearSize=-1)
static byte[] Rent(int minimumLength)
static BigInteger ModPow(BigInteger value, BigInteger exponent, BigInteger modulus)
unsafe ReadOnlySpan< T > Span
static DssParms Decode(ReadOnlyMemory< byte > encoded, AsnEncodingRules ruleSet)