예제 #1
0
  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);
  }
예제 #2
0
  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);
    }
  }