/** * Get merchant Private Key * @return PrivateKey object for the merchant */ public PrivateKey getPrivateKey() throws InvalidKeySpecException, NoSuchAlgorithmException { byte[] privateKeyBytes = this.getPrivateKeyBytes(); // initialize the parameter spec DHParameterSpec dhParamSpec = this.getDHParameterSpec(); // load the private key KeyFactory keyFactory = KeyFactory.getInstance("DH"); BigInteger privateKeyInt = new BigInteger(privateKeyBytes); DHPrivateKeySpec dhPrivateSpec = new DHPrivateKeySpec(privateKeyInt, dhParamSpec.getP(), dhParamSpec.getG()); PrivateKey privateKey = keyFactory.generatePrivate(dhPrivateSpec); return privateKey; }
public static KeyPair createKeyPair(OctetString publicKeyOctets, OctetString privateKeyOctets, DHParameters dhParameters) { KeyFactory keyFactory = null; try { keyFactory = KeyFactory.getInstance(DIFFIE_HELLMAN); BigInteger y = bytesToBigInteger(publicKeyOctets.getValue()); DHPublicKeySpec dhPublicKeySpec = new DHPublicKeySpec(y, dhParameters.getPrime(), dhParameters.getGenerator()); PublicKey publicKey = keyFactory.generatePublic(dhPublicKeySpec); BigInteger x = bytesToBigInteger(privateKeyOctets.getValue()); DHPrivateKeySpec dhPrivateKeySpec = new DHPrivateKeySpec(x, dhParameters.getPrime(), dhParameters.getGenerator()); PrivateKey privateKey = keyFactory.generatePrivate(dhPrivateKeySpec); return new KeyPair(publicKey, privateKey); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } catch (InvalidKeySpecException e) { throw new RuntimeException(e); } }
public static KeyPair createKeyPair(OctetString publicKeyOctets, OctetString privateKeyOctets, DHParameters dhParameters) { KeyFactory keyFactory = null; try { keyFactory = KeyFactory.getInstance(DIFFIE_HELLMAN); BigInteger y = bytesToBigInteger(publicKeyOctets.getValue()); DHPublicKeySpec dhPublicKeySpec = new DHPublicKeySpec(y, dhParameters.getPrime(), dhParameters.getGenerator()); PublicKey publicKey = keyFactory.generatePublic(dhPublicKeySpec); BigInteger x = bytesToBigInteger(privateKeyOctets.getValue()); DHPrivateKeySpec dhPrivateKeySpec = new DHPrivateKeySpec(x, dhParameters.getPrime(), dhParameters.getGenerator()); PrivateKey privateKey = keyFactory.generatePrivate(dhPrivateKeySpec); return new KeyPair(publicKey, privateKey); } catch (NoSuchAlgorithmException e) { throw new RuntimeException(e); } catch (InvalidKeySpecException e) { throw new RuntimeException(e); } }
return new DHPrivateKeySpec(k.getX(), k.getParams().getP(), k.getParams().getG());
return new DHPrivateKeySpec(k.getX(), k.getParams().getP(), k.getParams().getG());
protected KeySpec engineGetKeySpec( Key key, Class spec) throws InvalidKeySpecException { if (spec.isAssignableFrom(DHPrivateKeySpec.class) && key instanceof DHPrivateKey) { DHPrivateKey k = (DHPrivateKey)key; return new DHPrivateKeySpec(k.getX(), k.getParams().getP(), k.getParams().getG()); } else if (spec.isAssignableFrom(DHPublicKeySpec.class) && key instanceof DHPublicKey) { DHPublicKey k = (DHPublicKey)key; return new DHPublicKeySpec(k.getY(), k.getParams().getP(), k.getParams().getG()); } return super.engineGetKeySpec(key, spec); }
protected KeySpec engineGetKeySpec( Key key, Class spec) throws InvalidKeySpecException { if (spec.isAssignableFrom(DHPrivateKeySpec.class) && key instanceof DHPrivateKey) { DHPrivateKey k = (DHPrivateKey)key; return new DHPrivateKeySpec(k.getX(), k.getParams().getP(), k.getParams().getG()); } else if (spec.isAssignableFrom(DHPublicKeySpec.class) && key instanceof DHPublicKey) { DHPublicKey k = (DHPublicKey)key; return new DHPublicKeySpec(k.getY(), k.getParams().getP(), k.getParams().getG()); } return super.engineGetKeySpec(key, spec); }
protected KeySpec engineGetKeySpec( Key key, Class spec) throws InvalidKeySpecException { if (spec.isAssignableFrom(DHPrivateKeySpec.class) && key instanceof DHPrivateKey) { DHPrivateKey k = (DHPrivateKey)key; return new DHPrivateKeySpec(k.getX(), k.getParams().getP(), k.getParams().getG()); } else if (spec.isAssignableFrom(DHPublicKeySpec.class) && key instanceof DHPublicKey) { DHPublicKey k = (DHPublicKey)key; return new DHPublicKeySpec(k.getY(), k.getParams().getP(), k.getParams().getG()); } return super.engineGetKeySpec(key, spec); }
protected KeySpec engineGetKeySpec( Key key, Class spec) throws InvalidKeySpecException { if (spec.isAssignableFrom(DHPrivateKeySpec.class) && key instanceof DHPrivateKey) { DHPrivateKey k = (DHPrivateKey)key; return new DHPrivateKeySpec(k.getX(), k.getParams().getP(), k.getParams().getG()); } else if (spec.isAssignableFrom(DHPublicKeySpec.class) && key instanceof DHPublicKey) { DHPublicKey k = (DHPublicKey)key; return new DHPublicKeySpec(k.getY(), k.getParams().getP(), k.getParams().getG()); } return super.engineGetKeySpec(key, spec); }
protected KeySpec engineGetKeySpec( Key key, Class spec) throws InvalidKeySpecException { if (spec.isAssignableFrom(DHPrivateKeySpec.class) && key instanceof DHPrivateKey) { DHPrivateKey k = (DHPrivateKey)key; return new DHPrivateKeySpec(k.getX(), k.getParams().getP(), k.getParams().getG()); } else if (spec.isAssignableFrom(DHPublicKeySpec.class) && key instanceof DHPublicKey) { DHPublicKey k = (DHPublicKey)key; return new DHPublicKeySpec(k.getY(), k.getParams().getP(), k.getParams().getG()); } return super.engineGetKeySpec(key, spec); }