/// <inheritdoc />
        public byte[] SignWithCertificate(string message, X509Certificate2 certificate)
        {
            if (certificate.PublicKey.Key.KeySize < ClientCredentialWrapper.MinKeySizeInBits)
            {
                throw new ArgumentOutOfRangeException(nameof(certificate),
                                                      string.Format(CultureInfo.InvariantCulture, MsalErrorMessage.CertificateKeySizeTooSmallTemplate,
                                                                    ClientCredentialWrapper.MinKeySizeInBits));
            }

            return(CryptographyManager.SignWithCertificate(message, certificate));
        }
        public byte[] SignWithCertificate(string message, X509Certificate2 certificate)
        {
#if NET45
            var rsaCryptoProvider = GetCryptoProviderForSha256_Net45(certificate);
            using (var sha = new SHA256Cng())
            {
                var signedData = rsaCryptoProvider.SignData(Encoding.UTF8.GetBytes(message), sha);
                // Cache only valid RSA crypto providers, which are able to sign data successfully
                s_certificateToRsaCspMap[certificate.Thumbprint] = rsaCryptoProvider;
                return(signedData);
            }
#else
            return(CryptographyManager.SignWithCertificate(message, certificate));
#endif
        }
Exemplo n.º 3
0
        public byte[] SignWithCertificate(string message, X509Certificate2 certificate)
        {
            if (certificate.PublicKey.Key.KeySize < ClientCredentialWrapper.MinKeySizeInBits)
            {
                throw new ArgumentOutOfRangeException(nameof(certificate),
                                                      string.Format(CultureInfo.InvariantCulture, MsalErrorMessage.CertificateKeySizeTooSmallTemplate,
                                                                    ClientCredentialWrapper.MinKeySizeInBits));
            }

#if NET45
            var rsaCryptoProvider = GetCryptoProviderForSha256_Net45(certificate);
            using (var sha = new SHA256Cng())
            {
                var signedData = rsaCryptoProvider.SignData(Encoding.UTF8.GetBytes(message), sha);
                // Cache only valid RSA crypto providers, which are able to sign data successfully
                s_certificateToRsaCspMap[certificate.Thumbprint] = rsaCryptoProvider;
                return(signedData);
            }
#else
            return(CryptographyManager.SignWithCertificate(message, certificate));
#endif
        }
Exemplo n.º 4
0
 /// <inheritdoc />
 public byte[] SignWithCertificate(string message, X509Certificate2 certificate)
 {
     return(CryptographyManager.SignWithCertificate(message, certificate));
 }