protected PrivateKey engineGeneratePrivate(KeySpec keySpec) throws InvalidKeySpecException { if (keySpec instanceof PKCS8EncodedKeySpec) { try { return JDKKeyFactory.createPrivateKeyFromDERStream( ((PKCS8EncodedKeySpec) keySpec).getEncoded()); } catch (Exception e) { // // in case it's just a RSAPrivateKey object... // try { return new JCERSAPrivateCrtKey( new RSAPrivateKeyStructure( (ASN1Sequence) new ASN1InputStream(((PKCS8EncodedKeySpec) keySpec).getEncoded()) .readObject())); } catch (Exception ex) { throw new InvalidKeySpecException(ex.toString()); } } } else if (keySpec instanceof RSAPrivateCrtKeySpec) { return new JCERSAPrivateCrtKey((RSAPrivateCrtKeySpec) keySpec); } else if (keySpec instanceof RSAPrivateKeySpec) { return new JCERSAPrivateKey((RSAPrivateKeySpec) keySpec); } throw new InvalidKeySpecException("Unknown KeySpec type: " + keySpec.getClass().getName()); }
protected PublicKey engineGeneratePublic(KeySpec keySpec) throws InvalidKeySpecException { if (keySpec instanceof X509EncodedKeySpec) { try { return JDKKeyFactory.createPublicKeyFromDERStream( ((X509EncodedKeySpec) keySpec).getEncoded()); } catch (Exception e) { throw new InvalidKeySpecException(e.toString()); } } throw new InvalidKeySpecException("Unknown KeySpec type: " + keySpec.getClass().getName()); }
protected PrivateKey engineGeneratePrivate(KeySpec keySpec) throws InvalidKeySpecException { if (keySpec instanceof PKCS8EncodedKeySpec) { try { return JDKKeyFactory.createPrivateKeyFromDERStream( ((PKCS8EncodedKeySpec) keySpec).getEncoded()); } catch (Exception e) { throw new InvalidKeySpecException(e.toString()); } } else if (keySpec instanceof DSAPrivateKeySpec) { return new JDKDSAPrivateKey((DSAPrivateKeySpec) keySpec); } throw new InvalidKeySpecException("Unknown KeySpec type: " + keySpec.getClass().getName()); }
protected PublicKey engineGeneratePublic(KeySpec keySpec) throws InvalidKeySpecException { if (keySpec instanceof X509EncodedKeySpec) { try { return JDKKeyFactory.createPublicKeyFromDERStream( ((X509EncodedKeySpec) keySpec).getEncoded()); } catch (Exception e) { throw new InvalidKeySpecException(e.toString()); } } // BEGIN android-removed // else if (keySpec instanceof GOST3410PublicKeySpec) // { // return new JDKGOST3410PublicKey((GOST3410PublicKeySpec)keySpec); // } // END android-removed throw new InvalidKeySpecException("Unknown KeySpec type: " + keySpec.getClass().getName()); }
protected PrivateKey engineGeneratePrivate(KeySpec keySpec) throws InvalidKeySpecException { if (keySpec instanceof PKCS8EncodedKeySpec) { try { return JDKKeyFactory.createPrivateKeyFromDERStream( ((PKCS8EncodedKeySpec) keySpec).getEncoded()); } catch (Exception e) { throw new InvalidKeySpecException(e.toString()); } } // BEGIN android-removed // else if (keySpec instanceof ECPrivateKeySpec) // { // return new JCEECPrivateKey(algorithm, (ECPrivateKeySpec)keySpec); // } // else if (keySpec instanceof java.security.spec.ECPrivateKeySpec) // { // return new JCEECPrivateKey(algorithm, (java.security.spec.ECPrivateKeySpec)keySpec); // } // END android-removed throw new InvalidKeySpecException("Unknown KeySpec type: " + keySpec.getClass().getName()); }