java.security.spec.KeySpec Java Examples
The following examples show how to use
java.security.spec.KeySpec.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: CheckParity.java From TencentKona-8 with GNU General Public License v2.0 | 6 votes |
static private void check(String alg, byte [] key, byte [] expected, KeySpec ks) throws Exception { SecretKeyFactory skf = SecretKeyFactory.getInstance(alg, "SunJCE"); SecretKey sk = skf.generateSecret(ks); if (DESKeySpec.isParityAdjusted(key, 0)) { throw new Exception("Initial Key is somehow parity adjusted!"); } byte [] encoded = sk.getEncoded(); if (!Arrays.equals(expected, encoded)) { throw new Exception("encoded key is not the expected key"); } if (!DESKeySpec.isParityAdjusted(encoded, 0)) { throw new Exception("Generated Key is not parity adjusted"); } }
Example #2
Source File: DESedeKeyFactory.java From Bytecoder with Apache License 2.0 | 6 votes |
/** * Generates a <code>SecretKey</code> object from the provided key * specification (key material). * * @param keySpec the specification (key material) of the secret key * * @return the secret key * * @exception InvalidKeySpecException if the given key specification * is inappropriate for this key factory to produce a public key. */ protected SecretKey engineGenerateSecret(KeySpec keySpec) throws InvalidKeySpecException { try { if (keySpec instanceof DESedeKeySpec) { return new DESedeKey(((DESedeKeySpec)keySpec).getKey()); } if (keySpec instanceof SecretKeySpec) { return new DESedeKey(((SecretKeySpec)keySpec).getEncoded()); } throw new InvalidKeySpecException ("Inappropriate key specification"); } catch (InvalidKeyException e) { throw new InvalidKeySpecException(e.getMessage()); } }
Example #3
Source File: DHKeyFactory.java From jdk8u_jdk with GNU General Public License v2.0 | 6 votes |
/** * Generates a private key object from the provided key specification * (key material). * * @param keySpec the specification (key material) of the private key * * @return the private key * * @exception InvalidKeySpecException if the given key specification * is inappropriate for this key factory to produce a private key. */ protected PrivateKey engineGeneratePrivate(KeySpec keySpec) throws InvalidKeySpecException { try { if (keySpec instanceof DHPrivateKeySpec) { DHPrivateKeySpec dhPrivKeySpec = (DHPrivateKeySpec)keySpec; return new DHPrivateKey(dhPrivKeySpec.getX(), dhPrivKeySpec.getP(), dhPrivKeySpec.getG()); } else if (keySpec instanceof PKCS8EncodedKeySpec) { return new DHPrivateKey (((PKCS8EncodedKeySpec)keySpec).getEncoded()); } else { throw new InvalidKeySpecException ("Inappropriate key specification"); } } catch (InvalidKeyException e) { throw new InvalidKeySpecException ("Inappropriate key specification", e); } }
Example #4
Source File: DESedeKeyFactory.java From Bytecoder with Apache License 2.0 | 6 votes |
/** * Returns a specification (key material) of the given key * in the requested format. * * @param key the key * * @param keySpec the requested format in which the key material shall be * returned * * @return the underlying key specification (key material) in the * requested format * * @exception InvalidKeySpecException if the requested key specification is * inappropriate for the given key, or the given key cannot be processed * (e.g., the given key has an unrecognized algorithm or format). */ protected KeySpec engineGetKeySpec(SecretKey key, Class<?> keySpec) throws InvalidKeySpecException { try { if ((key instanceof SecretKey) && (key.getAlgorithm().equalsIgnoreCase("DESede")) && (key.getFormat().equalsIgnoreCase("RAW"))) { // Check if requested key spec is amongst the valid ones if (DESedeKeySpec.class.isAssignableFrom(keySpec)) { return new DESedeKeySpec(key.getEncoded()); } else { throw new InvalidKeySpecException ("Inappropriate key specification"); } } else { throw new InvalidKeySpecException ("Inappropriate key format/algorithm"); } } catch (InvalidKeyException e) { throw new InvalidKeySpecException("Secret key has wrong size"); } }
Example #5
Source File: DESedeKeyFactory.java From TencentKona-8 with GNU General Public License v2.0 | 6 votes |
/** * Returns a specification (key material) of the given key * in the requested format. * * @param key the key * * @param keySpec the requested format in which the key material shall be * returned * * @return the underlying key specification (key material) in the * requested format * * @exception InvalidKeySpecException if the requested key specification is * inappropriate for the given key, or the given key cannot be processed * (e.g., the given key has an unrecognized algorithm or format). */ protected KeySpec engineGetKeySpec(SecretKey key, Class<?> keySpec) throws InvalidKeySpecException { try { if ((key instanceof SecretKey) && (key.getAlgorithm().equalsIgnoreCase("DESede")) && (key.getFormat().equalsIgnoreCase("RAW"))) { // Check if requested key spec is amongst the valid ones if (DESedeKeySpec.class.isAssignableFrom(keySpec)) { return new DESedeKeySpec(key.getEncoded()); } else { throw new InvalidKeySpecException ("Inappropriate key specification"); } } else { throw new InvalidKeySpecException ("Inappropriate key format/algorithm"); } } catch (InvalidKeyException e) { throw new InvalidKeySpecException("Secret key has wrong size"); } }
Example #6
Source File: AESObfuscator.java From UnityOBBDownloader with Apache License 2.0 | 6 votes |
/** * @param salt an array of random bytes to use for each (un)obfuscation * @param applicationId application identifier, e.g. the package name * @param deviceId device identifier. Use as many sources as possible to * create this unique identifier. */ public AESObfuscator(byte[] salt, String applicationId, String deviceId) { try { SecretKeyFactory factory = SecretKeyFactory.getInstance(KEYGEN_ALGORITHM); KeySpec keySpec = new PBEKeySpec((applicationId + deviceId).toCharArray(), salt, 1024, 256); SecretKey tmp = factory.generateSecret(keySpec); SecretKey secret = new SecretKeySpec(tmp.getEncoded(), "AES"); mEncryptor = Cipher.getInstance(CIPHER_ALGORITHM); mEncryptor.init(Cipher.ENCRYPT_MODE, secret, new IvParameterSpec(IV)); mDecryptor = Cipher.getInstance(CIPHER_ALGORITHM); mDecryptor.init(Cipher.DECRYPT_MODE, secret, new IvParameterSpec(IV)); } catch (GeneralSecurityException e) { // This can't happen on a compatible Android device. throw new RuntimeException("Invalid environment", e); } }
Example #7
Source File: DHKeyFactory.java From jdk8u-jdk with GNU General Public License v2.0 | 6 votes |
/** * Generates a public key object from the provided key specification * (key material). * * @param keySpec the specification (key material) of the public key * * @return the public key * * @exception InvalidKeySpecException if the given key specification * is inappropriate for this key factory to produce a public key. */ protected PublicKey engineGeneratePublic(KeySpec keySpec) throws InvalidKeySpecException { try { if (keySpec instanceof DHPublicKeySpec) { DHPublicKeySpec dhPubKeySpec = (DHPublicKeySpec)keySpec; return new DHPublicKey(dhPubKeySpec.getY(), dhPubKeySpec.getP(), dhPubKeySpec.getG()); } else if (keySpec instanceof X509EncodedKeySpec) { return new DHPublicKey (((X509EncodedKeySpec)keySpec).getEncoded()); } else { throw new InvalidKeySpecException ("Inappropriate key specification"); } } catch (InvalidKeyException e) { throw new InvalidKeySpecException ("Inappropriate key specification", e); } }
Example #8
Source File: GenerationTests.java From jdk8u_jdk with GNU General Public License v2.0 | 6 votes |
private static PrivateKey getECPrivateKey(String curve) throws Exception { String s; ECParameterSpec params; switch (curve) { case "P256": s = EC_P256_S; params = EC_P256_PARAMS; break; case "P384": s = EC_P384_S; params = EC_P384_PARAMS; break; case "P521": s = EC_P521_S; params = EC_P521_PARAMS; break; default: throw new Exception("Unsupported curve: " + curve); } KeyFactory kf = KeyFactory.getInstance("EC"); KeySpec kspec = new ECPrivateKeySpec(new BigInteger(s), params); return kf.generatePrivate(kspec); }
Example #9
Source File: PBKDF2Core.java From TencentKona-8 with GNU General Public License v2.0 | 6 votes |
/** * Returns a specification (key material) of the given key * in the requested format. * * @param key the key * * @param keySpec the requested format in which the key material shall be * returned * * @return the underlying key specification (key material) in the * requested format * * @exception InvalidKeySpecException if the requested key * specification is inappropriate for the given key, or the * given key cannot be processed (e.g., the given key has an * unrecognized algorithm or format). */ protected KeySpec engineGetKeySpec(SecretKey key, Class<?> keySpecCl) throws InvalidKeySpecException { if (key instanceof javax.crypto.interfaces.PBEKey) { // Check if requested key spec is amongst the valid ones if ((keySpecCl != null) && PBEKeySpec.class.isAssignableFrom(keySpecCl)) { javax.crypto.interfaces.PBEKey pKey = (javax.crypto.interfaces.PBEKey) key; return new PBEKeySpec (pKey.getPassword(), pKey.getSalt(), pKey.getIterationCount(), pKey.getEncoded().length*8); } else { throw new InvalidKeySpecException("Invalid key spec"); } } else { throw new InvalidKeySpecException("Invalid key " + "format/algorithm"); } }
Example #10
Source File: DESedeKeyFactory.java From jdk8u_jdk with GNU General Public License v2.0 | 6 votes |
/** * Generates a <code>SecretKey</code> object from the provided key * specification (key material). * * @param keySpec the specification (key material) of the secret key * * @return the secret key * * @exception InvalidKeySpecException if the given key specification * is inappropriate for this key factory to produce a public key. */ protected SecretKey engineGenerateSecret(KeySpec keySpec) throws InvalidKeySpecException { try { if (keySpec instanceof DESedeKeySpec) { return new DESedeKey(((DESedeKeySpec)keySpec).getKey()); } if (keySpec instanceof SecretKeySpec) { return new DESedeKey(((SecretKeySpec)keySpec).getEncoded()); } throw new InvalidKeySpecException ("Inappropriate key specification"); } catch (InvalidKeyException e) { throw new InvalidKeySpecException(e.getMessage()); } }
Example #11
Source File: DESedeKeyFactory.java From openjdk-jdk9 with GNU General Public License v2.0 | 6 votes |
/** * Generates a <code>SecretKey</code> object from the provided key * specification (key material). * * @param keySpec the specification (key material) of the secret key * * @return the secret key * * @exception InvalidKeySpecException if the given key specification * is inappropriate for this key factory to produce a public key. */ protected SecretKey engineGenerateSecret(KeySpec keySpec) throws InvalidKeySpecException { try { if (keySpec instanceof DESedeKeySpec) { return new DESedeKey(((DESedeKeySpec)keySpec).getKey()); } if (keySpec instanceof SecretKeySpec) { return new DESedeKey(((SecretKeySpec)keySpec).getEncoded()); } throw new InvalidKeySpecException ("Inappropriate key specification"); } catch (InvalidKeyException e) { throw new InvalidKeySpecException(e.getMessage()); } }
Example #12
Source File: KeyFactory.java From ripple-lib-java with ISC License | 6 votes |
protected PublicKey engineGeneratePublic( KeySpec keySpec) throws InvalidKeySpecException { if (keySpec instanceof X509EncodedKeySpec) { try { SubjectPublicKeyInfo info = SubjectPublicKeyInfo.getInstance(((X509EncodedKeySpec)keySpec).getEncoded()); PublicKey key = BouncyCastleProvider.getPublicKey(info); if (key != null) { return key; } throw new InvalidKeySpecException("no factory found for OID: " + info.getAlgorithm().getAlgorithm()); } catch (Exception e) { throw new InvalidKeySpecException(e.toString()); } } throw new InvalidKeySpecException("Unknown KeySpec type: " + keySpec.getClass().getName()); }
Example #13
Source File: Des3DkCrypto.java From jdk8u-jdk with GNU General Public License v2.0 | 6 votes |
protected Cipher getCipher(byte[] key, byte[] ivec, int mode) throws GeneralSecurityException { // NoSuchAlgorithException SecretKeyFactory factory = SecretKeyFactory.getInstance("desede"); // InvalidKeyException KeySpec spec = new DESedeKeySpec(key, 0); // InvalidKeySpecException SecretKey secretKey = factory.generateSecret(spec); // IV if (ivec == null) { ivec = ZERO_IV; } // NoSuchAlgorithmException, NoSuchPaddingException // NoSuchProviderException Cipher cipher = Cipher.getInstance("DESede/CBC/NoPadding"); IvParameterSpec encIv = new IvParameterSpec(ivec, 0, ivec.length); // InvalidKeyException, InvalidAlgorithParameterException cipher.init(mode, secretKey, encIv); return cipher; }
Example #14
Source File: Des3DkCrypto.java From TencentKona-8 with GNU General Public License v2.0 | 6 votes |
protected Cipher getCipher(byte[] key, byte[] ivec, int mode) throws GeneralSecurityException { // NoSuchAlgorithException SecretKeyFactory factory = SecretKeyFactory.getInstance("desede"); // InvalidKeyException KeySpec spec = new DESedeKeySpec(key, 0); // InvalidKeySpecException SecretKey secretKey = factory.generateSecret(spec); // IV if (ivec == null) { ivec = ZERO_IV; } // NoSuchAlgorithmException, NoSuchPaddingException // NoSuchProviderException Cipher cipher = Cipher.getInstance("DESede/CBC/NoPadding"); IvParameterSpec encIv = new IvParameterSpec(ivec, 0, ivec.length); // InvalidKeyException, InvalidAlgorithParameterException cipher.init(mode, secretKey, encIv); return cipher; }
Example #15
Source File: AESObfuscator.java From travelguide with Apache License 2.0 | 6 votes |
/** * @param salt an array of random bytes to use for each (un)obfuscation * @param applicationId application identifier, e.g. the package name * @param deviceId device identifier. Use as many sources as possible to * create this unique identifier. */ public AESObfuscator(byte[] salt, String applicationId, String deviceId) { try { SecretKeyFactory factory = SecretKeyFactory.getInstance(KEYGEN_ALGORITHM); KeySpec keySpec = new PBEKeySpec((applicationId + deviceId).toCharArray(), salt, 1024, 256); SecretKey tmp = factory.generateSecret(keySpec); SecretKey secret = new SecretKeySpec(tmp.getEncoded(), "AES"); mEncryptor = Cipher.getInstance(CIPHER_ALGORITHM); mEncryptor.init(Cipher.ENCRYPT_MODE, secret, new IvParameterSpec(IV)); mDecryptor = Cipher.getInstance(CIPHER_ALGORITHM); mDecryptor.init(Cipher.DECRYPT_MODE, secret, new IvParameterSpec(IV)); } catch (GeneralSecurityException e) { // This can't happen on a compatible Android device. throw new RuntimeException("Invalid environment", e); } }
Example #16
Source File: DSAKeyFactory.java From openjdk-8-source with GNU General Public License v2.0 | 6 votes |
/** * Generates a private key object from the provided key specification * (key material). * * @param keySpec the specification (key material) of the private key * * @return the private key * * @exception InvalidKeySpecException if the given key specification * is inappropriate for this key factory to produce a private key. */ protected PrivateKey engineGeneratePrivate(KeySpec keySpec) throws InvalidKeySpecException { try { if (keySpec instanceof DSAPrivateKeySpec) { DSAPrivateKeySpec dsaPrivKeySpec = (DSAPrivateKeySpec)keySpec; return new DSAPrivateKey(dsaPrivKeySpec.getX(), dsaPrivKeySpec.getP(), dsaPrivKeySpec.getQ(), dsaPrivKeySpec.getG()); } else if (keySpec instanceof PKCS8EncodedKeySpec) { return new DSAPrivateKey (((PKCS8EncodedKeySpec)keySpec).getEncoded()); } else { throw new InvalidKeySpecException ("Inappropriate key specification"); } } catch (InvalidKeyException e) { throw new InvalidKeySpecException ("Inappropriate key specification: " + e.getMessage()); } }
Example #17
Source File: DESKeyFactory.java From openjdk-8-source with GNU General Public License v2.0 | 6 votes |
/** * Generates a <code>SecretKey</code> object from the provided key * specification (key material). * * @param keySpec the specification (key material) of the secret key * * @return the secret key * * @exception InvalidKeySpecException if the given key specification * is inappropriate for this key factory to produce a public key. */ protected SecretKey engineGenerateSecret(KeySpec keySpec) throws InvalidKeySpecException { try { if (keySpec instanceof DESKeySpec) { return new DESKey(((DESKeySpec)keySpec).getKey()); } if (keySpec instanceof SecretKeySpec) { return new DESKey(((SecretKeySpec)keySpec).getEncoded()); } throw new InvalidKeySpecException( "Inappropriate key specification"); } catch (InvalidKeyException e) { throw new InvalidKeySpecException(e.getMessage()); } }
Example #18
Source File: PBKDF2Core.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 6 votes |
/** * Returns a specification (key material) of the given key * in the requested format. * * @param key the key * * @param keySpec the requested format in which the key material shall be * returned * * @return the underlying key specification (key material) in the * requested format * * @exception InvalidKeySpecException if the requested key * specification is inappropriate for the given key, or the * given key cannot be processed (e.g., the given key has an * unrecognized algorithm or format). */ protected KeySpec engineGetKeySpec(SecretKey key, Class<?> keySpecCl) throws InvalidKeySpecException { if (key instanceof javax.crypto.interfaces.PBEKey) { // Check if requested key spec is amongst the valid ones if ((keySpecCl != null) && PBEKeySpec.class.isAssignableFrom(keySpecCl)) { javax.crypto.interfaces.PBEKey pKey = (javax.crypto.interfaces.PBEKey) key; return new PBEKeySpec (pKey.getPassword(), pKey.getSalt(), pKey.getIterationCount(), pKey.getEncoded().length*8); } else { throw new InvalidKeySpecException("Invalid key spec"); } } else { throw new InvalidKeySpecException("Invalid key " + "format/algorithm"); } }
Example #19
Source File: CheckParity.java From jdk8u_jdk with GNU General Public License v2.0 | 6 votes |
static private void check(String alg, byte [] key, byte [] expected, KeySpec ks) throws Exception { SecretKeyFactory skf = SecretKeyFactory.getInstance(alg, "SunJCE"); SecretKey sk = skf.generateSecret(ks); if (DESKeySpec.isParityAdjusted(key, 0)) { throw new Exception("Initial Key is somehow parity adjusted!"); } byte [] encoded = sk.getEncoded(); if (!Arrays.equals(expected, encoded)) { throw new Exception("encoded key is not the expected key"); } if (!DESKeySpec.isParityAdjusted(encoded, 0)) { throw new Exception("Generated Key is not parity adjusted"); } }
Example #20
Source File: DESedeKeyFactory.java From jdk8u-jdk with GNU General Public License v2.0 | 6 votes |
/** * Returns a specification (key material) of the given key * in the requested format. * * @param key the key * * @param keySpec the requested format in which the key material shall be * returned * * @return the underlying key specification (key material) in the * requested format * * @exception InvalidKeySpecException if the requested key specification is * inappropriate for the given key, or the given key cannot be processed * (e.g., the given key has an unrecognized algorithm or format). */ protected KeySpec engineGetKeySpec(SecretKey key, Class<?> keySpec) throws InvalidKeySpecException { try { if ((key instanceof SecretKey) && (key.getAlgorithm().equalsIgnoreCase("DESede")) && (key.getFormat().equalsIgnoreCase("RAW"))) { // Check if requested key spec is amongst the valid ones if (DESedeKeySpec.class.isAssignableFrom(keySpec)) { return new DESedeKeySpec(key.getEncoded()); } else { throw new InvalidKeySpecException ("Inappropriate key specification"); } } else { throw new InvalidKeySpecException ("Inappropriate key format/algorithm"); } } catch (InvalidKeyException e) { throw new InvalidKeySpecException("Secret key has wrong size"); } }
Example #21
Source File: SimpleCrypt.java From open with GNU General Public License v3.0 | 6 votes |
public SimpleCrypt() { byte[] salt = { (byte) 0xA9, (byte) 0x9B, (byte) 0xC8, (byte) 0x32, (byte) 0x56, (byte) 0x34, (byte) 0xE3, (byte) 0x03 }; int iterationCount = 19; try { KeySpec keySpec = new PBEKeySpec(getSaltMix(), salt, iterationCount); SecretKey key = SecretKeyFactory.getInstance("PBEWithMD5AndDES").generateSecret(keySpec); ecipher = Cipher.getInstance(key.getAlgorithm()); dcipher = Cipher.getInstance(key.getAlgorithm()); AlgorithmParameterSpec paramSpec = new PBEParameterSpec(salt, iterationCount); ecipher.init(Cipher.ENCRYPT_MODE, key, paramSpec); dcipher.init(Cipher.DECRYPT_MODE, key, paramSpec); } catch (Exception e) { Logger.e("SimpleCrypt error: " + e.getMessage()); } }
Example #22
Source File: RSAHelper.java From cosmic with Apache License 2.0 | 6 votes |
private static RSAPublicKey readKey(final String key) throws Exception { final byte[] encKey = Base64.decodeBase64(key.split(" ")[1]); final DataInputStream dis = new DataInputStream(new ByteArrayInputStream(encKey)); final byte[] header = readElement(dis); final String pubKeyFormat = new String(header); if (!pubKeyFormat.equals("ssh-rsa")) { throw new RuntimeException("Unsupported format"); } final byte[] publicExponent = readElement(dis); final byte[] modulus = readElement(dis); final KeySpec spec = new RSAPublicKeySpec(new BigInteger(modulus), new BigInteger(publicExponent)); final KeyFactory keyFactory = KeyFactory.getInstance("RSA", BouncyCastleProvider.PROVIDER_NAME); final RSAPublicKey pubKey = (RSAPublicKey) keyFactory.generatePublic(spec); return pubKey; }
Example #23
Source File: DSAKeyFactory.java From TencentKona-8 with GNU General Public License v2.0 | 6 votes |
/** * Generates a private key object from the provided key specification * (key material). * * @param keySpec the specification (key material) of the private key * * @return the private key * * @exception InvalidKeySpecException if the given key specification * is inappropriate for this key factory to produce a private key. */ protected PrivateKey engineGeneratePrivate(KeySpec keySpec) throws InvalidKeySpecException { try { if (keySpec instanceof DSAPrivateKeySpec) { DSAPrivateKeySpec dsaPrivKeySpec = (DSAPrivateKeySpec)keySpec; return new DSAPrivateKey(dsaPrivKeySpec.getX(), dsaPrivKeySpec.getP(), dsaPrivKeySpec.getQ(), dsaPrivKeySpec.getG()); } else if (keySpec instanceof PKCS8EncodedKeySpec) { return new DSAPrivateKey (((PKCS8EncodedKeySpec)keySpec).getEncoded()); } else { throw new InvalidKeySpecException ("Inappropriate key specification"); } } catch (InvalidKeyException e) { throw new InvalidKeySpecException ("Inappropriate key specification: " + e.getMessage()); } }
Example #24
Source File: RSAPrivateCrtKeySpecTest.java From j2objc with Apache License 2.0 | 5 votes |
/** * Test #2 for <code>RSAPrivateCrtKeySpec</code> constructor * Assertion: Constructs <code>RSAPrivateCrtKeySpec</code> * object using valid parameters */ public final void testRSAPrivateCrtKeySpec02() { KeySpec ks = new RSAPrivateCrtKeySpec( BigInteger.ONE, BigInteger.ONE, BigInteger.ONE, BigInteger.ONE, BigInteger.ONE, BigInteger.ONE, BigInteger.ONE, BigInteger.ONE); assertTrue(ks instanceof RSAPrivateKeySpec); }
Example #25
Source File: ProfilesPanel.java From plugins with GNU General Public License v3.0 | 5 votes |
private SecretKey getAesKey() throws NoSuchAlgorithmException, InvalidKeySpecException { if (getSalt().length == 0) { byte[] b = new byte[16]; SecureRandom.getInstanceStrong().nextBytes(b); setSalt(b); } SecretKeyFactory factory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256"); KeySpec spec = new PBEKeySpec(txtDecryptPassword.getPassword(), getSalt(), iterations, 128); return factory.generateSecret(spec); }
Example #26
Source File: GenerationTests.java From openjdk-jdk8u with GNU General Public License v2.0 | 5 votes |
private static PublicKey getECPublicKey(String curve) throws Exception { KeyFactory kf = KeyFactory.getInstance("EC"); String x, y; ECParameterSpec params; switch (curve) { case "P256": x = EC_P256_X; y = EC_P256_Y; params = EC_P256_PARAMS; break; case "P384": x = EC_P384_X; y = EC_P384_Y; params = EC_P384_PARAMS; break; case "P521": x = EC_P521_X; y = EC_P521_Y; params = EC_P521_PARAMS; break; default: throw new Exception("Unsupported curve: " + curve); } KeySpec kspec = new ECPublicKeySpec(new ECPoint(new BigInteger(x), new BigInteger(y)), params); return kf.generatePublic(kspec); }
Example #27
Source File: KeyFactory.java From Bytecoder with Apache License 2.0 | 5 votes |
/** * Generates a private key object from the provided key specification * (key material). * * @param keySpec the specification (key material) of the private key. * * @return the private key. * * @throws InvalidKeySpecException if the given key specification * is inappropriate for this key factory to produce a private key. */ public final PrivateKey generatePrivate(KeySpec keySpec) throws InvalidKeySpecException { if (serviceIterator == null) { return spi.engineGeneratePrivate(keySpec); } Exception failure = null; KeyFactorySpi mySpi = spi; do { try { return mySpi.engineGeneratePrivate(keySpec); } catch (Exception e) { if (failure == null) { failure = e; } mySpi = nextSpi(mySpi); } } while (mySpi != null); if (failure instanceof RuntimeException) { throw (RuntimeException)failure; } if (failure instanceof InvalidKeySpecException) { throw (InvalidKeySpecException)failure; } throw new InvalidKeySpecException ("Could not generate private key", failure); }
Example #28
Source File: BaseSecretKeyFactory.java From RipplePower with Apache License 2.0 | 5 votes |
protected SecretKey engineGenerateSecret( KeySpec keySpec) throws InvalidKeySpecException { if (keySpec instanceof SecretKeySpec) { return (SecretKey)keySpec; } throw new InvalidKeySpecException("Invalid KeySpec"); }
Example #29
Source File: KeyFactory.java From TencentKona-8 with GNU General Public License v2.0 | 5 votes |
/** * Generates a private key object from the provided key specification * (key material). * * @param keySpec the specification (key material) of the private key. * * @return the private key. * * @exception InvalidKeySpecException if the given key specification * is inappropriate for this key factory to produce a private key. */ public final PrivateKey generatePrivate(KeySpec keySpec) throws InvalidKeySpecException { if (serviceIterator == null) { return spi.engineGeneratePrivate(keySpec); } Exception failure = null; KeyFactorySpi mySpi = spi; do { try { return mySpi.engineGeneratePrivate(keySpec); } catch (Exception e) { if (failure == null) { failure = e; } mySpi = nextSpi(mySpi); } } while (mySpi != null); if (failure instanceof RuntimeException) { throw (RuntimeException)failure; } if (failure instanceof InvalidKeySpecException) { throw (InvalidKeySpecException)failure; } throw new InvalidKeySpecException ("Could not generate private key", failure); }
Example #30
Source File: KeyFactorySpi.java From RipplePower with Apache License 2.0 | 5 votes |
protected PrivateKey engineGeneratePrivate( KeySpec keySpec) throws InvalidKeySpecException { if (keySpec instanceof GOST3410PrivateKeySpec) { return new BCGOST3410PrivateKey((GOST3410PrivateKeySpec)keySpec); } return super.engineGeneratePrivate(keySpec); }