public void Test_Ensure_Ctor_Doesnt_Throw_On_Valid_Cert()
        {
            //arrange
            var cert = RSAX509SigningServiceTests.LoadTestCert();

            //act
            CertToRSAProviderConverter converter = new CertToRSAProviderConverter(cert, true);
        }
        public void Test_Ensure_Includes_Private_Params_If_Requests()
        {
            //arrange
            var cert = RSAX509SigningServiceTests.LoadTestCert();

            //act
            var rsaCrypto = new CertToRSAProviderConverter(cert, true).Provider;

            //assert:next line shouldn't throw if private was included
            var rsaparams = rsaCrypto.ExportParameters(true);
        }
Пример #3
0
        public bool isSigned(byte[] message, byte[] signedMessage)
        {
            using (RSACryptoServiceProvider provider = new CertToRSAProviderConverter(cert, false).Provider)
            {
#if NET46
                return(provider.VerifyData(message, CryptoConfig.MapNameToOID("SHA256"), signedMessage));
#elif NETSTANDARD1_6
                //core doesn't have cryptoconfig so we must use hash name (maybe)
                return(provider.VerifyData(message, HashAlgorithmName.SHA256, signedMessage));
#endif

#if !NETSTANDARD1_6
                return(provider.VerifyData(message, CryptoConfig.MapNameToOID("SHA256"), signedMessage));
#else
                throw new NotSupportedException("The current runtime/clr does not support " + nameof(isSigned) + " in class " + this.GetType());
#endif
            }
        }