コード例 #1
0
        internal static PublicKey Read(ReadOnlySequence <byte> data, IReadOnlyList <Name> allowedFormats)
        {
            var reader = new SequenceReader(data);
            var key    = reader.ReadPublicKey(allowedFormats);

            reader.ReadEnd();
            return(key);
        }
コード例 #2
0
ファイル: RsaPublicKey.cs プロジェクト: aslicerh/Tmds.Ssh
        internal override bool VerifySignature(Span <byte> data, ReadOnlySequence <byte> signature)
        {
            var reader = new SequenceReader(signature);

            reader.ReadName(Format);

            using var rsa = RSA.Create(new RSAParameters { Exponent = _e, Modulus = _n });
            int signatureLength = rsa.KeySize / 8;

            ReadOnlySequence <byte> signatureData = reader.ReadStringAsBytes(maxLength: signatureLength);

            reader.ReadEnd();

            return(rsa.VerifyData(data, signatureData.ToArray(), HashAlgorithmName.SHA1, RSASignaturePadding.Pkcs1));
        }