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

◆ ImportRSAPrivateKey()

virtual unsafe void System.Security.Cryptography.RSA.ImportRSAPrivateKey ( ReadOnlySpan< byte > source,
out int bytesRead )
inlinevirtualinherited

Definition at line 511 of file RSA.cs.

512 {
513 try
514 {
515 AsnDecoder.ReadEncodedValue(source, AsnEncodingRules.BER, out var _, out var _, out var bytesConsumed);
516 fixed (byte* pointer = &MemoryMarshal.GetReference(source))
517 {
518 using MemoryManager<byte> memoryManager = new PointerMemoryManager<byte>(pointer, bytesConsumed);
519 ReadOnlyMemory<byte> keyData = memoryManager.Memory;
520 int length = keyData.Length;
522 RSAKeyFormatHelper.FromPkcs1PrivateKey(keyData, in algId, out var ret);
523 fixed (byte* ptr6 = ret.D)
524 {
525 fixed (byte* ptr5 = ret.P)
526 {
527 fixed (byte* ptr4 = ret.Q)
528 {
529 fixed (byte* ptr3 = ret.DP)
530 {
531 fixed (byte* ptr2 = ret.DQ)
532 {
533 fixed (byte* ptr = ret.InverseQ)
534 {
535 try
536 {
537 ImportParameters(ret);
538 }
539 finally
540 {
542 }
543 }
544 }
545 }
546 }
547 }
548 }
549 bytesRead = length;
550 }
551 }
552 catch (AsnContentException inner)
553 {
554 throw new CryptographicException(System.SR.Cryptography_Der_Invalid_Encoding, inner);
555 }
556 }
static Asn1Tag ReadEncodedValue(ReadOnlySpan< byte > source, AsnEncodingRules ruleSet, out int contentOffset, out int contentLength, out int bytesConsumed)
Definition AsnDecoder.cs:57
static string Cryptography_Der_Invalid_Encoding
Definition SR.cs:50
Definition SR.cs:7
static void ClearPrivateParameters(in RSAParameters rsaParameters)
Definition RSA.cs:662
void ImportParameters(RSAParameters parameters)

References System.Security.Cryptography.RSA.ClearPrivateParameters(), System.SR.Cryptography_Der_Invalid_Encoding, System.Security.Cryptography.RSAKeyFormatHelper.FromPkcs1PrivateKey(), System.Security.Cryptography.RSA.ImportParameters(), System.length, System.ReadOnlyMemory< T >.Length, System.pointer, System.Formats.Asn1.AsnDecoder.ReadEncodedValue(), and System.source.

Referenced by System.Security.Cryptography.RSA.ImportPkcs8PrivateKey().