14c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrompackage org.bouncycastle.jcajce; 24c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 34c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport java.security.AlgorithmParameterGenerator; 44c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport java.security.AlgorithmParameters; 54c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport java.security.KeyFactory; 64c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport java.security.KeyPairGenerator; 74c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport java.security.MessageDigest; 84c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport java.security.NoSuchAlgorithmException; 94c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport java.security.Provider; 104c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport java.security.Signature; 114c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport java.security.cert.CertificateException; 124c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport java.security.cert.CertificateFactory; 134c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 144c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport javax.crypto.Cipher; 154c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport javax.crypto.KeyAgreement; 164c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport javax.crypto.KeyGenerator; 174c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport javax.crypto.Mac; 184c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstromimport javax.crypto.NoSuchPaddingException; 194c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 204c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrompublic class ProviderJcaJceHelper 214c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom implements JcaJceHelper 224c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom{ 234c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom protected final Provider provider; 244c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 254c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public ProviderJcaJceHelper(Provider provider) 264c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 274c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom this.provider = provider; 284c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 294c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 304c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public Cipher createCipher( 314c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom String algorithm) 324c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom throws NoSuchAlgorithmException, NoSuchPaddingException 334c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 344c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom return Cipher.getInstance(algorithm, provider); 354c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 364c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 374c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public Mac createMac(String algorithm) 384c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom throws NoSuchAlgorithmException 394c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 404c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom return Mac.getInstance(algorithm, provider); 414c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 424c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 434c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public KeyAgreement createKeyAgreement(String algorithm) 444c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom throws NoSuchAlgorithmException 454c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 464c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom return KeyAgreement.getInstance(algorithm, provider); 474c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 484c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 494c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public AlgorithmParameterGenerator createAlgorithmParameterGenerator(String algorithm) 504c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom throws NoSuchAlgorithmException 514c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 524c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom return AlgorithmParameterGenerator.getInstance(algorithm, provider); 534c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 544c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 554c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public AlgorithmParameters createAlgorithmParameters(String algorithm) 564c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom throws NoSuchAlgorithmException 574c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 584c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom return AlgorithmParameters.getInstance(algorithm, provider); 594c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 604c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 614c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public KeyGenerator createKeyGenerator(String algorithm) 624c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom throws NoSuchAlgorithmException 634c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 644c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom return KeyGenerator.getInstance(algorithm, provider); 654c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 664c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 674c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public KeyFactory createKeyFactory(String algorithm) 684c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom throws NoSuchAlgorithmException 694c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 704c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom return KeyFactory.getInstance(algorithm, provider); 714c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 724c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 734c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public KeyPairGenerator createKeyPairGenerator(String algorithm) 744c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom throws NoSuchAlgorithmException 754c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 764c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom return KeyPairGenerator.getInstance(algorithm, provider); 774c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 784c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 794c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public MessageDigest createDigest(String algorithm) 804c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom throws NoSuchAlgorithmException 814c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 824c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom return MessageDigest.getInstance(algorithm, provider); 834c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 844c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 854c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public Signature createSignature(String algorithm) 864c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom throws NoSuchAlgorithmException 874c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 884c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom return Signature.getInstance(algorithm, provider); 894c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 904c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom 914c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom public CertificateFactory createCertificateFactory(String algorithm) 924c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom throws NoSuchAlgorithmException, CertificateException 934c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom { 944c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom return CertificateFactory.getInstance(algorithm, provider); 954c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom } 964c111300c39cb2e27f07fc2ae3b00e23ed4443b2Brian Carlstrom} 97