Example usage for java.security.spec AlgorithmParameterSpec getClass

List of usage examples for java.security.spec AlgorithmParameterSpec getClass

Introduction

In this page you can find the example usage for java.security.spec AlgorithmParameterSpec getClass.

Prototype

@HotSpotIntrinsicCandidate
public final native Class<?> getClass();

Source Link

Document

Returns the runtime class of this Object .

Usage

From source file:org.cesecore.keys.util.KeyStoreTools.java

/** Generates keys in the Keystore token.
 * @param spec AlgorithmParameterSpec for the KeyPairGenerator. Can be anything like RSAKeyGenParameterSpec, DSAParameterSpec, ECParameterSpec or ECGenParameterSpec. 
 * @param keyEntryName//w  w  w . j a v a2  s  .c  o m
 */
public void generateKeyPair(final AlgorithmParameterSpec spec, final String keyEntryName)
        throws InvalidAlgorithmParameterException, CertificateException, IOException {
    if (log.isTraceEnabled()) {
        log.trace(">generate from AlgorithmParameterSpec: " + spec.getClass().getName());
    }
    // Generate the Keypair
    String algorithm = "EC";
    String sigAlg = "SHA1withECDSA";
    String specName = spec.getClass().getName();
    if (specName.contains("DSA")) {
        algorithm = "DSA";
        sigAlg = "SHA1withDSA";
    } else if (specName.contains("RSA")) {
        algorithm = "RSA";
        sigAlg = "SHA1withRSA";
    }
    KeyPairGenerator kpg;
    try {
        kpg = KeyPairGenerator.getInstance(algorithm, this.providerName);
    } catch (NoSuchAlgorithmException e) {
        throw new IllegalStateException("Algorithm " + algorithm + " was not recognized.", e);
    } catch (NoSuchProviderException e) {
        throw new IllegalStateException("BouncyCastle was not found as a provider.", e);
    }
    try {
        kpg.initialize(spec);
    } catch (InvalidAlgorithmParameterException e) {
        log.debug("Algorithm parameters not supported: " + e.getMessage());
        throw e;
    }
    generateKeyPair(kpg, keyEntryName, sigAlg);
    if (log.isTraceEnabled()) {
        log.trace("<generate from AlgorithmParameterSpec: " + spec.getClass().getName());
    }
}

From source file:org.ejbca.util.keystore.KeyStoreContainerBase.java

@Override
public byte[] generate(final AlgorithmParameterSpec spec, final String keyEntryName) throws Exception {
    if (log.isTraceEnabled()) {
        log.trace(">generate from AlgorithmParameterSpec: " + spec.getClass().getName());
    }//w ww.j a  v  a 2 s  .  co  m
    // Generate the Keypair
    String algorithm = "EC";
    String sigAlg = "SHA1withECDSA";
    String specName = spec.getClass().getName();
    if (specName.contains("DSA")) {
        algorithm = "DSA";
        sigAlg = "SHA1withDSA";
    } else if (specName.contains("RSA")) {
        algorithm = "RSA";
        sigAlg = "SHA1withRSA";
    }
    final KeyPairGenerator kpg = KeyPairGenerator.getInstance(algorithm, this.providerName);
    try {
        kpg.initialize(spec);
    } catch (InvalidAlgorithmParameterException e) {
        log.debug("Algorithm parameters not supported: " + e.getMessage());
        throw e;
    }
    final byte result[] = generate(kpg, keyEntryName, sigAlg);
    if (log.isTraceEnabled()) {
        log.trace("<generate from AlgorithmParameterSpec: " + spec.getClass().getName());
    }
    return result;
}