Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ WriteSpecifiedECDomain() [2/2]

static void System.Security.Cryptography.EccKeyFormatHelper.WriteSpecifiedECDomain ( ECParameters ecParameters,
AsnWriter writer )
inlinestaticprivate

Definition at line 277 of file EccKeyFormatHelper.cs.

278 {
279 int k3;
280 int k2;
281 int k;
282 int m = (k3 = (k2 = (k = -1)));
283 if (ecParameters.Curve.IsCharacteristic2)
284 {
285 DetermineChar2Parameters(in ecParameters, ref m, ref k3, ref k2, ref k);
286 }
287 writer.PushSequence();
288 writer.WriteInteger(1L);
289 writer.PushSequence();
290 if (ecParameters.Curve.IsPrime)
291 {
292 writer.WriteObjectIdentifier("1.2.840.10045.1.1");
293 writer.WriteIntegerUnsigned(ecParameters.Curve.Prime);
294 }
295 else
296 {
297 writer.WriteObjectIdentifier("1.2.840.10045.1.2");
298 writer.PushSequence();
299 writer.WriteInteger((long)m, (Asn1Tag?)null);
300 if (k > 0)
301 {
302 writer.WriteObjectIdentifier("1.2.840.10045.1.2.3.3");
303 writer.PushSequence();
304 writer.WriteInteger((long)k3, (Asn1Tag?)null);
305 writer.WriteInteger((long)k2, (Asn1Tag?)null);
306 writer.WriteInteger((long)k, (Asn1Tag?)null);
307 writer.PopSequence();
308 }
309 else
310 {
311 writer.WriteObjectIdentifier("1.2.840.10045.1.2.3.2");
312 writer.WriteInteger((long)k3, (Asn1Tag?)null);
313 }
314 writer.PopSequence();
315 }
316 writer.PopSequence();
317 WriteCurve(in ecParameters.Curve, writer);
318 WriteUncompressedBasePoint(in ecParameters, writer);
319 writer.WriteIntegerUnsigned(ecParameters.Curve.Order);
320 if (ecParameters.Curve.Cofactor != null)
321 {
322 writer.WriteIntegerUnsigned(ecParameters.Curve.Cofactor);
323 }
324 writer.PopSequence();
325 }
static void DetermineChar2Parameters(in ECParameters ecParameters, ref int m, ref int k1, ref int k2, ref int k3)
static void WriteUncompressedBasePoint(in ECParameters ecParameters, AsnWriter writer)
static void WriteCurve(in ECCurve curve, AsnWriter writer)

References System.Security.Cryptography.ECCurve.Cofactor, System.Security.Cryptography.ECParameters.Curve, System.Security.Cryptography.EccKeyFormatHelper.DetermineChar2Parameters(), System.Security.Cryptography.ECCurve.IsCharacteristic2, System.Security.Cryptography.ECCurve.IsPrime, System.L, System.Security.Cryptography.ECCurve.Order, System.Security.Cryptography.ECCurve.Prime, System.Security.Cryptography.EccKeyFormatHelper.WriteCurve(), System.writer, and System.Security.Cryptography.EccKeyFormatHelper.WriteUncompressedBasePoint().