1 package org.bouncycastle.eac.operator.jcajce; 2 3 import java.security.NoSuchAlgorithmException; 4 import java.security.NoSuchProviderException; 5 import java.security.Signature; 6 import java.util.Hashtable; 7 8 import org.bouncycastle.asn1.ASN1ObjectIdentifier; 9 import org.bouncycastle.asn1.eac.EACObjectIdentifiers; 10 11 abstract class EACHelper 12 { 13 private static final Hashtable sigNames = new Hashtable(); 14 15 static 16 { sigNames.put(EACObjectIdentifiers.id_TA_RSA_v1_5_SHA_1, R)17 sigNames.put(EACObjectIdentifiers.id_TA_RSA_v1_5_SHA_1, "SHA1withRSA"); sigNames.put(EACObjectIdentifiers.id_TA_RSA_v1_5_SHA_256, R)18 sigNames.put(EACObjectIdentifiers.id_TA_RSA_v1_5_SHA_256, "SHA256withRSA"); sigNames.put(EACObjectIdentifiers.id_TA_RSA_PSS_SHA_1, R)19 sigNames.put(EACObjectIdentifiers.id_TA_RSA_PSS_SHA_1, "SHA1withRSAandMGF1"); sigNames.put(EACObjectIdentifiers.id_TA_RSA_PSS_SHA_256, R)20 sigNames.put(EACObjectIdentifiers.id_TA_RSA_PSS_SHA_256, "SHA256withRSAandMGF1"); sigNames.put(EACObjectIdentifiers.id_TA_RSA_v1_5_SHA_512, R)21 sigNames.put(EACObjectIdentifiers.id_TA_RSA_v1_5_SHA_512, "SHA512withRSA"); sigNames.put(EACObjectIdentifiers.id_TA_RSA_PSS_SHA_512, R)22 sigNames.put(EACObjectIdentifiers.id_TA_RSA_PSS_SHA_512, "SHA512withRSAandMGF1"); 23 sigNames.put(EACObjectIdentifiers.id_TA_ECDSA_SHA_1, R)24 sigNames.put(EACObjectIdentifiers.id_TA_ECDSA_SHA_1, "SHA1withECDSA"); sigNames.put(EACObjectIdentifiers.id_TA_ECDSA_SHA_224, R)25 sigNames.put(EACObjectIdentifiers.id_TA_ECDSA_SHA_224, "SHA224withECDSA"); sigNames.put(EACObjectIdentifiers.id_TA_ECDSA_SHA_256, R)26 sigNames.put(EACObjectIdentifiers.id_TA_ECDSA_SHA_256, "SHA256withECDSA"); sigNames.put(EACObjectIdentifiers.id_TA_ECDSA_SHA_384, R)27 sigNames.put(EACObjectIdentifiers.id_TA_ECDSA_SHA_384, "SHA384withECDSA"); sigNames.put(EACObjectIdentifiers.id_TA_ECDSA_SHA_512, R)28 sigNames.put(EACObjectIdentifiers.id_TA_ECDSA_SHA_512, "SHA512withECDSA"); 29 } 30 getSignature(ASN1ObjectIdentifier oid)31 public Signature getSignature(ASN1ObjectIdentifier oid) 32 throws NoSuchProviderException, NoSuchAlgorithmException 33 { 34 return createSignature((String)sigNames.get(oid)); 35 } 36 createSignature(String type)37 protected abstract Signature createSignature(String type) 38 throws NoSuchProviderException, NoSuchAlgorithmException; 39 } 40