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