protected void engineInit(Key key, SecureRandom random) throws InvalidKeyException { if (!(key instanceof ECPrivateKey)) { throw new InvalidKeyException("ECKeyAgreement requires ECPrivateKey"); } privKey = ECUtil.generatePrivateKeyParameter((PrivateKey) key); agreement.init(privKey); }
private void initFromKey(Key key) throws InvalidKeyException { // BEGIN android-removed // if (agreement instanceof ECMQVBasicAgreement) // { // if (!(key instanceof MQVPrivateKey)) // { // throw new InvalidKeyException(kaAlgorithm + " key agreement requires " // + getSimpleName(MQVPrivateKey.class) + " for initialisation"); // } // // MQVPrivateKey mqvPrivKey = (MQVPrivateKey)key; // ECPrivateKeyParameters staticPrivKey = (ECPrivateKeyParameters) // ECUtil.generatePrivateKeyParameter(mqvPrivKey.getStaticPrivateKey()); // ECPrivateKeyParameters ephemPrivKey = (ECPrivateKeyParameters) // ECUtil.generatePrivateKeyParameter(mqvPrivKey.getEphemeralPrivateKey()); // // ECPublicKeyParameters ephemPubKey = null; // if (mqvPrivKey.getEphemeralPublicKey() != null) // { // ephemPubKey = (ECPublicKeyParameters) // ECUtil.generatePublicKeyParameter(mqvPrivKey.getEphemeralPublicKey()); // } // // MQVPrivateParameters localParams = new MQVPrivateParameters(staticPrivKey, ephemPrivKey, // ephemPubKey); // this.parameters = staticPrivKey.getParameters(); // // // TODO Validate that all the keys are using the same parameters? // // agreement.init(localParams); // } // else // END android-removed { if (!(key instanceof PrivateKey)) { throw new InvalidKeyException( kaAlgorithm + " key agreement requires " + getSimpleName(ECPrivateKey.class) + " for initialisation"); } ECPrivateKeyParameters privKey = (ECPrivateKeyParameters) ECUtil.generatePrivateKeyParameter((PrivateKey) key); this.parameters = privKey.getParameters(); agreement.init(privKey); } }