Beispiel #1
0
 public X509AsymmetricSignatureProvider(System.IdentityModel.Tokens.X509AsymmetricSecurityKey x509Key)
 {
     Utility.VerifyNonNullArgument("x509Key", x509Key);
     System.Security.Cryptography.RSACryptoServiceProvider rSACryptoServiceProvider = x509Key.GetAsymmetricAlgorithm("http://www.w3.org/2001/04/xmldsig-more#rsa-sha256", true) as System.Security.Cryptography.RSACryptoServiceProvider;
     if (rSACryptoServiceProvider == null)
     {
         throw new System.InvalidOperationException("Could not get algorithm from X509AsymmetricSecurityKey");
     }
     this.Initialize(rSACryptoServiceProvider);
 }
Beispiel #2
0
 public static SignatureProvider Create(System.IdentityModel.Tokens.SigningCredentials signingCredentials)
 {
     Utility.VerifyNonNullArgument("signingCredentials", signingCredentials);
     if (System.StringComparer.Ordinal.Compare(signingCredentials.DigestAlgorithm, "http://www.w3.org/2001/04/xmlenc#sha256") != 0)
     {
         throw new System.ArgumentException("signingCredentials.DigestAlgorithm must be SHA-256");
     }
     System.IdentityModel.Tokens.X509AsymmetricSecurityKey x509AsymmetricSecurityKey = signingCredentials.SigningKey as System.IdentityModel.Tokens.X509AsymmetricSecurityKey;
     if (x509AsymmetricSecurityKey != null)
     {
         return(new X509AsymmetricSignatureProvider(x509AsymmetricSecurityKey));
     }
     System.IdentityModel.Tokens.SymmetricSecurityKey symmetricSecurityKey = signingCredentials.SigningKey as System.IdentityModel.Tokens.SymmetricSecurityKey;
     if (symmetricSecurityKey != null)
     {
         return(new SymmetricSignatureProvider(symmetricSecurityKey));
     }
     throw new System.ArgumentException("signingCredentials.SigningKey must be either X509AsymmetricSecurityKey or SymmetricSecurityKey");
 }