Java Code Examples for javax.crypto.interfaces.DHPublicKey#getY()
The following examples show how to use
javax.crypto.interfaces.DHPublicKey#getY() .
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: DiffieHellmanSessionTest.java From openid4java with Apache License 2.0 | 6 votes |
public void testPublicKey() throws AssociationException { DHParameterSpec dhParameterSpec = DiffieHellmanSession.getDefaultParameter(); DiffieHellmanSession diffieHellmanSession = DiffieHellmanSession.create(AssociationSessionType.DH_SHA1, dhParameterSpec); String dhPublicKeyBase64 = diffieHellmanSession.getPublicKey(); DHPublicKey dhPublicKey = diffieHellmanSession.stringToPublicKey(dhPublicKeyBase64); BigInteger two = new BigInteger("2"); BigInteger y = dhPublicKey.getY(); BigInteger p = dhParameterSpec.getP(); assertTrue(y.compareTo(two) != -1); assertTrue(y.compareTo(p) == -1); }
Example 2
Source File: DHCrypt.java From dragonwell8_jdk with GNU General Public License v2.0 | 5 votes |
static DHPublicKeySpec getDHPublicKeySpec(PublicKey key) { if (key instanceof DHPublicKey) { DHPublicKey dhKey = (DHPublicKey)key; DHParameterSpec params = dhKey.getParams(); return new DHPublicKeySpec(dhKey.getY(), params.getP(), params.getG()); } try { KeyFactory factory = JsseJce.getKeyFactory("DiffieHellman"); return factory.getKeySpec(key, DHPublicKeySpec.class); } catch (Exception e) { throw new RuntimeException(e); } }
Example 3
Source File: DHUtil.java From BiglyBT with GNU General Public License v2.0 | 5 votes |
static public AsymmetricKeyParameter generatePublicKeyParameter( PublicKey key) throws InvalidKeyException { if (key instanceof DHPublicKey) { DHPublicKey k = (DHPublicKey)key; return new DHPublicKeyParameters(k.getY(), new DHParameters(k.getParams().getP(), k.getParams().getG(), null, k.getParams().getL())); } throw new InvalidKeyException("can't identify DH public key."); }
Example 4
Source File: KeyUtil.java From jdk8u-jdk with GNU General Public License v2.0 | 5 votes |
/** * Returns whether the Diffie-Hellman public key is valid or not. * * Per RFC 2631 and NIST SP800-56A, the following algorithm is used to * validate Diffie-Hellman public keys: * 1. Verify that y lies within the interval [2,p-1]. If it does not, * the key is invalid. * 2. Compute y^q mod p. If the result == 1, the key is valid. * Otherwise the key is invalid. */ private static void validateDHPublicKey(DHPublicKey publicKey) throws InvalidKeyException { DHParameterSpec paramSpec = publicKey.getParams(); BigInteger p = paramSpec.getP(); BigInteger g = paramSpec.getG(); BigInteger y = publicKey.getY(); validateDHPublicKey(p, g, y); }
Example 5
Source File: KeyUtil.java From jdk8u_jdk with GNU General Public License v2.0 | 5 votes |
/** * Returns whether the Diffie-Hellman public key is valid or not. * * Per RFC 2631 and NIST SP800-56A, the following algorithm is used to * validate Diffie-Hellman public keys: * 1. Verify that y lies within the interval [2,p-1]. If it does not, * the key is invalid. * 2. Compute y^q mod p. If the result == 1, the key is valid. * Otherwise the key is invalid. */ private static void validateDHPublicKey(DHPublicKey publicKey) throws InvalidKeyException { DHParameterSpec paramSpec = publicKey.getParams(); BigInteger p = paramSpec.getP(); BigInteger g = paramSpec.getG(); BigInteger y = publicKey.getY(); validateDHPublicKey(p, g, y); }
Example 6
Source File: KeyUtil.java From openjdk-8-source with GNU General Public License v2.0 | 5 votes |
/** * Returns whether the Diffie-Hellman public key is valid or not. * * Per RFC 2631 and NIST SP800-56A, the following algorithm is used to * validate Diffie-Hellman public keys: * 1. Verify that y lies within the interval [2,p-1]. If it does not, * the key is invalid. * 2. Compute y^q mod p. If the result == 1, the key is valid. * Otherwise the key is invalid. */ private static void validateDHPublicKey(DHPublicKey publicKey) throws InvalidKeyException { DHParameterSpec paramSpec = publicKey.getParams(); BigInteger p = paramSpec.getP(); BigInteger g = paramSpec.getG(); BigInteger y = publicKey.getY(); validateDHPublicKey(p, g, y); }
Example 7
Source File: DHCrypt.java From hottub with GNU General Public License v2.0 | 5 votes |
static DHPublicKeySpec getDHPublicKeySpec(PublicKey key) { if (key instanceof DHPublicKey) { DHPublicKey dhKey = (DHPublicKey)key; DHParameterSpec params = dhKey.getParams(); return new DHPublicKeySpec(dhKey.getY(), params.getP(), params.getG()); } try { KeyFactory factory = JsseJce.getKeyFactory("DH"); return factory.getKeySpec(key, DHPublicKeySpec.class); } catch (Exception e) { throw new RuntimeException(e); } }
Example 8
Source File: KeyUtil.java From Bytecoder with Apache License 2.0 | 5 votes |
/** * Returns whether the Diffie-Hellman public key is valid or not. * * Per RFC 2631 and NIST SP800-56A, the following algorithm is used to * validate Diffie-Hellman public keys: * 1. Verify that y lies within the interval [2,p-1]. If it does not, * the key is invalid. * 2. Compute y^q mod p. If the result == 1, the key is valid. * Otherwise the key is invalid. */ private static void validateDHPublicKey(DHPublicKey publicKey) throws InvalidKeyException { DHParameterSpec paramSpec = publicKey.getParams(); BigInteger p = paramSpec.getP(); BigInteger g = paramSpec.getG(); BigInteger y = publicKey.getY(); validateDHPublicKey(p, g, y); }
Example 9
Source File: DHKeyExchange.java From Bytecoder with Apache License 2.0 | 5 votes |
private static DHPublicKeySpec getDHPublicKeySpec(PublicKey key) { if (key instanceof DHPublicKey) { DHPublicKey dhKey = (DHPublicKey)key; DHParameterSpec params = dhKey.getParams(); return new DHPublicKeySpec(dhKey.getY(), params.getP(), params.getG()); } try { KeyFactory factory = KeyFactory.getInstance("DiffieHellman"); return factory.getKeySpec(key, DHPublicKeySpec.class); } catch (NoSuchAlgorithmException | InvalidKeySpecException e) { // unlikely throw new RuntimeException("Unable to get DHPublicKeySpec", e); } }
Example 10
Source File: KeyUtil.java From openjdk-jdk8u-backup with GNU General Public License v2.0 | 5 votes |
/** * Returns whether the Diffie-Hellman public key is valid or not. * * Per RFC 2631 and NIST SP800-56A, the following algorithm is used to * validate Diffie-Hellman public keys: * 1. Verify that y lies within the interval [2,p-1]. If it does not, * the key is invalid. * 2. Compute y^q mod p. If the result == 1, the key is valid. * Otherwise the key is invalid. */ private static void validateDHPublicKey(DHPublicKey publicKey) throws InvalidKeyException { DHParameterSpec paramSpec = publicKey.getParams(); BigInteger p = paramSpec.getP(); BigInteger g = paramSpec.getG(); BigInteger y = publicKey.getY(); validateDHPublicKey(p, g, y); }
Example 11
Source File: DHCrypt.java From jdk8u_jdk with GNU General Public License v2.0 | 5 votes |
static DHPublicKeySpec getDHPublicKeySpec(PublicKey key) { if (key instanceof DHPublicKey) { DHPublicKey dhKey = (DHPublicKey)key; DHParameterSpec params = dhKey.getParams(); return new DHPublicKeySpec(dhKey.getY(), params.getP(), params.getG()); } try { KeyFactory factory = JsseJce.getKeyFactory("DiffieHellman"); return factory.getKeySpec(key, DHPublicKeySpec.class); } catch (Exception e) { throw new RuntimeException(e); } }
Example 12
Source File: KeyUtil.java From hottub with GNU General Public License v2.0 | 5 votes |
/** * Returns whether the Diffie-Hellman public key is valid or not. * * Per RFC 2631 and NIST SP800-56A, the following algorithm is used to * validate Diffie-Hellman public keys: * 1. Verify that y lies within the interval [2,p-1]. If it does not, * the key is invalid. * 2. Compute y^q mod p. If the result == 1, the key is valid. * Otherwise the key is invalid. */ private static void validateDHPublicKey(DHPublicKey publicKey) throws InvalidKeyException { DHParameterSpec paramSpec = publicKey.getParams(); BigInteger p = paramSpec.getP(); BigInteger g = paramSpec.getG(); BigInteger y = publicKey.getY(); validateDHPublicKey(p, g, y); }
Example 13
Source File: DHCrypt.java From openjdk-jdk8u with GNU General Public License v2.0 | 5 votes |
static DHPublicKeySpec getDHPublicKeySpec(PublicKey key) { if (key instanceof DHPublicKey) { DHPublicKey dhKey = (DHPublicKey)key; DHParameterSpec params = dhKey.getParams(); return new DHPublicKeySpec(dhKey.getY(), params.getP(), params.getG()); } try { KeyFactory factory = JsseJce.getKeyFactory("DiffieHellman"); return factory.getKeySpec(key, DHPublicKeySpec.class); } catch (Exception e) { throw new RuntimeException(e); } }
Example 14
Source File: DHCrypt.java From jdk8u60 with GNU General Public License v2.0 | 5 votes |
static DHPublicKeySpec getDHPublicKeySpec(PublicKey key) { if (key instanceof DHPublicKey) { DHPublicKey dhKey = (DHPublicKey)key; DHParameterSpec params = dhKey.getParams(); return new DHPublicKeySpec(dhKey.getY(), params.getP(), params.getG()); } try { KeyFactory factory = JsseJce.getKeyFactory("DH"); return factory.getKeySpec(key, DHPublicKeySpec.class); } catch (Exception e) { throw new RuntimeException(e); } }
Example 15
Source File: KeyUtil.java From jdk8u-dev-jdk with GNU General Public License v2.0 | 5 votes |
/** * Returns whether the Diffie-Hellman public key is valid or not. * * Per RFC 2631 and NIST SP800-56A, the following algorithm is used to * validate Diffie-Hellman public keys: * 1. Verify that y lies within the interval [2,p-1]. If it does not, * the key is invalid. * 2. Compute y^q mod p. If the result == 1, the key is valid. * Otherwise the key is invalid. */ private static void validateDHPublicKey(DHPublicKey publicKey) throws InvalidKeyException { DHParameterSpec paramSpec = publicKey.getParams(); BigInteger p = paramSpec.getP(); BigInteger g = paramSpec.getG(); BigInteger y = publicKey.getY(); validateDHPublicKey(p, g, y); }
Example 16
Source File: KeyUtil.java From dragonwell8_jdk with GNU General Public License v2.0 | 5 votes |
/** * Returns whether the Diffie-Hellman public key is valid or not. * * Per RFC 2631 and NIST SP800-56A, the following algorithm is used to * validate Diffie-Hellman public keys: * 1. Verify that y lies within the interval [2,p-1]. If it does not, * the key is invalid. * 2. Compute y^q mod p. If the result == 1, the key is valid. * Otherwise the key is invalid. */ private static void validateDHPublicKey(DHPublicKey publicKey) throws InvalidKeyException { DHParameterSpec paramSpec = publicKey.getParams(); BigInteger p = paramSpec.getP(); BigInteger g = paramSpec.getG(); BigInteger y = publicKey.getY(); validateDHPublicKey(p, g, y); }
Example 17
Source File: DHCrypt.java From openjdk-8-source with GNU General Public License v2.0 | 5 votes |
static DHPublicKeySpec getDHPublicKeySpec(PublicKey key) { if (key instanceof DHPublicKey) { DHPublicKey dhKey = (DHPublicKey)key; DHParameterSpec params = dhKey.getParams(); return new DHPublicKeySpec(dhKey.getY(), params.getP(), params.getG()); } try { KeyFactory factory = JsseJce.getKeyFactory("DH"); return factory.getKeySpec(key, DHPublicKeySpec.class); } catch (Exception e) { throw new RuntimeException(e); } }
Example 18
Source File: ProtocolDecoderPHE.java From TorrentEngine with GNU General Public License v3.0 | 4 votes |
protected void initCrypto() throws IOException { try{ KeyPair key_pair = generateDHKeyPair( transport, outbound ); key_agreement = KeyAgreement.getInstance("DH"); key_agreement.init(key_pair.getPrivate()); DHPublicKey dh_public_key = (DHPublicKey)key_pair.getPublic(); BigInteger dh_y = dh_public_key.getY(); dh_public_key_bytes = bigIntegerToBytes( dh_y, DH_SIZE_BYTES ); }catch( Throwable e ){ throw( new IOException( Debug.getNestedExceptionMessage(e))); } }
Example 19
Source File: SupportedDHKeys.java From openjdk-jdk9 with GNU General Public License v2.0 | 4 votes |
private static void checkKeyPair(KeyPair kp, int pSize, Provider provider) throws Exception { DHPrivateKey privateKey = (DHPrivateKey)kp.getPrivate(); BigInteger p = privateKey.getParams().getP(); if (p.bitLength() != pSize) { throw new Exception( "Invalid modulus size: " + p.bitLength() + "/" + pSize); } // System.out.println("P(" + pSize + "): " + p.toString()); if (!p.isProbablePrime(128)) { throw new Exception("Good luck, the modulus is composite!"); } DHPublicKey publicKey = (DHPublicKey)kp.getPublic(); p = publicKey.getParams().getP(); if (p.bitLength() != pSize) { throw new Exception( "Invalid modulus size: " + p.bitLength() + "/" + pSize); } BigInteger leftOpen = BigInteger.ONE; BigInteger rightOpen = p.subtract(BigInteger.ONE); // ignore the private key range checking on Solaris at present if (!provider.getName().equals("SunPKCS11-Solaris")) { BigInteger x = privateKey.getX(); if ((x.compareTo(leftOpen) <= 0) || (x.compareTo(rightOpen) >= 0)) { throw new Exception( "X outside range [2, p - 2]: x: " + x + " p: " + p); } } BigInteger y = publicKey.getY(); if ((y.compareTo(leftOpen) <= 0) || (y.compareTo(rightOpen) >= 0)) { throw new Exception( "Y outside range [2, p - 2]: y: " + y + " p: " + p); } }
Example 20
Source File: ProtocolDecoderPHE.java From BiglyBT with GNU General Public License v2.0 | 4 votes |
protected void initCrypto() throws IOException { try{ KeyPair key_pair = generateDHKeyPair( transport, outbound ); key_agreement = KeyAgreement.getInstance("DH"); key_agreement.init(key_pair.getPrivate()); DHPublicKey dh_public_key = (DHPublicKey)key_pair.getPublic(); BigInteger dh_y = dh_public_key.getY(); dh_public_key_bytes = bigIntegerToBytes( dh_y, DH_SIZE_BYTES ); }catch( Throwable e ){ throw( new IOException( Debug.getNestedExceptionMessage(e))); } }