OpenSSLProvider.java revision 746a236e2be5dee62c482e27f4c682496d071d8b
112cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom/* 212cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom * Copyright (C) 2010 The Android Open Source Project 312cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom * 412cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom * Licensed under the Apache License, Version 2.0 (the "License"); 512cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom * you may not use this file except in compliance with the License. 612cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom * You may obtain a copy of the License at 712cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom * 812cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom * http://www.apache.org/licenses/LICENSE-2.0 912cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom * 1012cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom * Unless required by applicable law or agreed to in writing, software 1112cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom * distributed under the License is distributed on an "AS IS" BASIS, 1212cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1312cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom * See the License for the specific language governing permissions and 1412cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom * limitations under the License. 1512cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom */ 1612cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom 1712cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrompackage org.apache.harmony.xnet.provider.jsse; 1812cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom 1912cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstromimport java.security.Provider; 2012cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom 2112cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrompublic final class OpenSSLProvider extends Provider { 225b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root public static final String PROVIDER_NAME = "AndroidOpenSSL"; 2312cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom 2412cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom public OpenSSLProvider() { 255b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root super(PROVIDER_NAME, 1.0, "Android's OpenSSL-backed security provider"); 2612cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom 275b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root // SSL Contexts 28059dbc04218144f985b20a228bbe98139d400d0cBrian Carlstrom put("SSLContext.SSL", OpenSSLContextImpl.class.getName()); 29059dbc04218144f985b20a228bbe98139d400d0cBrian Carlstrom put("SSLContext.SSLv3", OpenSSLContextImpl.class.getName()); 30059dbc04218144f985b20a228bbe98139d400d0cBrian Carlstrom put("SSLContext.TLS", OpenSSLContextImpl.class.getName()); 31059dbc04218144f985b20a228bbe98139d400d0cBrian Carlstrom put("SSLContext.TLSv1", OpenSSLContextImpl.class.getName()); 32059dbc04218144f985b20a228bbe98139d400d0cBrian Carlstrom put("SSLContext.Default", DefaultSSLContextImpl.class.getName()); 33059dbc04218144f985b20a228bbe98139d400d0cBrian Carlstrom 345b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root // Message Digests 3512cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom put("MessageDigest.SHA-1", 3612cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom "org.apache.harmony.xnet.provider.jsse.OpenSSLMessageDigestJDK$SHA1"); 3712cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom put("Alg.Alias.MessageDigest.SHA1", "SHA-1"); 3812cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom put("Alg.Alias.MessageDigest.SHA", "SHA-1"); 3912cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom put("Alg.Alias.MessageDigest.1.3.14.3.2.26", "SHA-1"); 4012cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom 4112cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom put("MessageDigest.SHA-256", 4212cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom "org.apache.harmony.xnet.provider.jsse.OpenSSLMessageDigestJDK$SHA256"); 4312cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom put("Alg.Alias.MessageDigest.SHA256", "SHA-256"); 4412cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom put("Alg.Alias.MessageDigest.2.16.840.1.101.3.4.2.1", "SHA-256"); 4512cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom 4612cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom put("MessageDigest.SHA-384", 4712cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom "org.apache.harmony.xnet.provider.jsse.OpenSSLMessageDigestJDK$SHA384"); 4812cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom put("Alg.Alias.MessageDigest.SHA384", "SHA-384"); 4912cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom put("Alg.Alias.MessageDigest.2.16.840.1.101.3.4.2.2", "SHA-384"); 5012cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom 5112cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom put("MessageDigest.SHA-512", 5212cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom "org.apache.harmony.xnet.provider.jsse.OpenSSLMessageDigestJDK$SHA512"); 5312cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom put("Alg.Alias.MessageDigest.SHA512", "SHA-512"); 5412cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom put("Alg.Alias.MessageDigest.2.16.840.1.101.3.4.2.3", "SHA-512"); 5512cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom 5612cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom put("MessageDigest.MD5", 5712cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom "org.apache.harmony.xnet.provider.jsse.OpenSSLMessageDigestJDK$MD5"); 5812cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom put("Alg.Alias.MessageDigest.1.2.840.113549.2.5", "MD5"); 5912cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom 60746a236e2be5dee62c482e27f4c682496d071d8bKenny Root // KeyPairGenerators 61746a236e2be5dee62c482e27f4c682496d071d8bKenny Root put("KeyPairGenerator.RSA", OpenSSLRSAKeyPairGenerator.class.getName()); 62746a236e2be5dee62c482e27f4c682496d071d8bKenny Root put("Alg.Alias.KeyPairGenerator.1.2.840.113549.1.1.1", "RSA"); 63746a236e2be5dee62c482e27f4c682496d071d8bKenny Root 64746a236e2be5dee62c482e27f4c682496d071d8bKenny Root put("KeyPairGenerator.DSA", OpenSSLDSAKeyPairGenerator.class.getName()); 65746a236e2be5dee62c482e27f4c682496d071d8bKenny Root 66746a236e2be5dee62c482e27f4c682496d071d8bKenny Root // KeyFactory 67746a236e2be5dee62c482e27f4c682496d071d8bKenny Root 68746a236e2be5dee62c482e27f4c682496d071d8bKenny Root put("KeyFactory.RSA", OpenSSLRSAKeyFactory.class.getName()); 69746a236e2be5dee62c482e27f4c682496d071d8bKenny Root put("Alg.Alias.KeyFactory.1.2.840.113549.1.1.1", "RSA"); 70746a236e2be5dee62c482e27f4c682496d071d8bKenny Root 71746a236e2be5dee62c482e27f4c682496d071d8bKenny Root // put("KeyFactory.DSA", OpenSSLDSAKeyFactory.class.getName()); 72746a236e2be5dee62c482e27f4c682496d071d8bKenny Root 735b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root // Signatures 745b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Signature.MD5WithRSAEncryption", OpenSSLSignature.MD5RSA.class.getName()); 755b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.MD5WithRSA", "MD5WithRSAEncryption"); 765b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.MD5/RSA", "MD5WithRSAEncryption"); 775b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.1.2.840.113549.1.1.4", "MD5WithRSAEncryption"); 785b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.1.2.840.113549.2.5with1.2.840.113549.1.1.1", 795b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root "MD5WithRSAEncryption"); 805b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root 815b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Signature.SHA1WithRSAEncryption", OpenSSLSignature.SHA1RSA.class.getName()); 825b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.SHA1WithRSA", "SHA1WithRSAEncryption"); 835b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.SHA1/RSA", "SHA1WithRSAEncryption"); 845b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.SHA-1/RSA", "SHA1WithRSAEncryption"); 855b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.1.2.840.113549.1.1.5", "SHA1WithRSAEncryption"); 865b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.1.3.14.3.2.26with1.2.840.113549.1.1.1", "SHA1WithRSAEncryption"); 875b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.1.3.14.3.2.26with1.2.840.113549.1.1.5", "SHA1WithRSAEncryption"); 885b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.1.3.14.3.2.29", "SHA1WithRSAEncryption"); 895b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root 905b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Signature.SHA256WithRSAEncryption", OpenSSLSignature.SHA256RSA.class.getName()); 915b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.SHA256WithRSA", "SHA256WithRSAEncryption"); 925b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.1.2.840.113549.1.1.11", "SHA256WithRSAEncryption"); 935b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root 945b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Signature.SHA384WithRSAEncryption", OpenSSLSignature.SHA384RSA.class.getName()); 955b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.SHA384WithRSA", "SHA384WithRSAEncryption"); 965b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.1.2.840.113549.1.1.12", "SHA384WithRSAEncryption"); 975b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root 985b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Signature.SHA512WithRSAEncryption", OpenSSLSignature.SHA512RSA.class.getName()); 995b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.SHA512WithRSA", "SHA512WithRSAEncryption"); 1005b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.1.2.840.113549.1.1.13", "SHA512WithRSAEncryption"); 1015b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root 1025b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Signature.SHA1withDSA", OpenSSLSignature.SHA1DSA.class.getName()); 1035b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.SHA/DSA", "SHA1withDSA"); 1045b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.DSA", "SHA1withDSA"); 1055b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.1.3.14.3.2.26with1.2.840.10040.4.1", "SHA1withDSA"); 1065b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.1.3.14.3.2.26with1.2.840.10040.4.3", "SHA1withDSA"); 1075b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.DSAWithSHA1", "SHA1withDSA"); 1085b57eb538f8da8e97cf88a310d75d14dfc91624cKenny Root put("Alg.Alias.Signature.1.2.840.10040.4.3", "SHA1withDSA"); 10912cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom } 11012cd1f00c2fa1a7f37bf644cecdf7588bdc0b0a9Brian Carlstrom} 111