internal static void ReadEncryptedPkcs8(
     ReadOnlySpan <byte> source,
     ReadOnlySpan <char> password,
     out int bytesRead,
     out RSAParameters key)
 {
     KeyFormatHelper.ReadEncryptedPkcs8 <RSAParameters>(
         s_validOids,
         source,
         password,
         FromPkcs1PrivateKey,
         out bytesRead,
         out key);
 }
示例#2
0
        public byte[] Encrypt(ReadOnlySpan <byte> passwordBytes, PbeParameters pbeParameters)
        {
            if (pbeParameters == null)
            {
                throw new ArgumentNullException(nameof(pbeParameters));
            }

            PasswordBasedEncryption.ValidatePbeParameters(
                pbeParameters,
                ReadOnlySpan <char> .Empty,
                passwordBytes);

            AsnWriter pkcs8  = WritePkcs8();
            AsnWriter writer = KeyFormatHelper.WriteEncryptedPkcs8(passwordBytes, pkcs8, pbeParameters);

            return(writer.Encode());
        }
示例#3
0
        public bool TryEncrypt(
            ReadOnlySpan <char> password,
            PbeParameters pbeParameters,
            Span <byte> destination,
            out int bytesWritten)
        {
            if (pbeParameters == null)
            {
                throw new ArgumentNullException(nameof(pbeParameters));
            }

            PasswordBasedEncryption.ValidatePbeParameters(
                pbeParameters,
                password,
                ReadOnlySpan <byte> .Empty);

            AsnWriter pkcs8  = WritePkcs8();
            AsnWriter writer = KeyFormatHelper.WriteEncryptedPkcs8(password, pkcs8, pbeParameters);

            return(writer.TryEncode(destination, out bytesWritten));
        }