Support_ProviderRSA.java revision e98fbf8686c5289bf03fe5c3de7ff82d3a77104d
1e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes/* 2e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * Licensed to the Apache Software Foundation (ASF) under one or more 3e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * contributor license agreements. See the NOTICE file distributed with 4e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * this work for additional information regarding copyright ownership. 5e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * The ASF licenses this file to You under the Apache License, Version 2.0 6e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * (the "License"); you may not use this file except in compliance with 7e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * the License. You may obtain a copy of the License at 8e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * 9e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * http://www.apache.org/licenses/LICENSE-2.0 10e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * 11e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * Unless required by applicable law or agreed to in writing, software 12e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * distributed under the License is distributed on an "AS IS" BASIS, 13e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * See the License for the specific language governing permissions and 15e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * limitations under the License. 16e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes */ 17e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes 18e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughespackage tests.support; 19e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes 20e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughesimport java.security.AccessController; 21e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughesimport java.security.PrivilegedAction; 22e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughesimport java.security.Provider; 23e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes 24e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes/** 25e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * This class implements a dummy provider. 26e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes */ 27e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughespublic class Support_ProviderRSA extends Provider { 28e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes private static final long serialVersionUID = 1L; 29e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes 30e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes // Provider name 31e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes private static final String NAME = "ProviderRSA"; 32e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes 33e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes // Version of the services provided 34e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes private static final double VERSION = 1.0; 35e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes 36e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes private static final String INFO = NAME 37e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes + " DSA key, parameter generation and signing; SHA-1 digest"; 38e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes 39e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes /** 40e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * Constructs a new instance of the dummy provider. 41e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes */ 42e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes public Support_ProviderRSA() { 43e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes super(NAME, VERSION, INFO); 44e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes registerServices(); 45e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes } 46e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes 47e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes /** 48e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes * Register the services the receiver provides. 49e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes */ 50e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes private void registerServices() { 51e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes AccessController.doPrivileged(new PrivilegedAction<Void>() { 52e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes public Void run() { 53e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes // Digest engine 54e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes put("MessageDigest.SHA", 55e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes "made.up.provider.name.MessageDigestSHA"); 56e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes put("MessageDigest.MD5", 57e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes "made.up.provider.name.MessageDigestMD5"); 58e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes 59e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes // Secure Random 60e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes put("SecureRandom.SHA1PRNG", 61e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes "made.up.provider.name.SecureRandomImpl"); 62e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes 63e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes // Algorithm parameter generator 64e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes put("AlgorithmParameterGenerator.DSA", 65e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes "made.up.provider.name.AlgorithmParameterGeneratorDSA"); 66e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes 67e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes // Algorithm parameters 68e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes put("AlgorithmParameters.DSA", 69e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes "made.up.provider.name.AlgorithmParametersDSA"); 70e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes 71e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes // Key pair generator 72e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes put("KeyPairGenerator.DSA", 73e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes "made.up.provider.name.KeyPairGeneratorDSA"); 74e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes 75e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes // Key factory 76e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes put("KeyFactory.DSA", 77e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes "made.up.provider.name.KeyFactoryDSA"); 78e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes put("KeyFactory.RSA", 79e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes "made.up.provider.name.KeyFactoryRSA"); 80e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes 81e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes // Signature algorithm 82e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes put("Signature.SHA1withDSA", 83e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes "made.up.provider.name.SignatureDSA"); 84e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes 85e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes // KeyStore 86e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes put("KeyStore.PKCS#12/Netscape", 87e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes "made.up.provider.name.KeyStore"); 88e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes 89e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes // Certificate 90e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes put("CertificateFactory.X509", 91e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes "made.up.provider.name.CertificateFactoryX509"); 92e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes return null; 93e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes } 94e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes }); 95e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes } 96e98fbf8686c5289bf03fe5c3de7ff82d3a77104dElliott Hughes}