diff -r 7252530399e2 -r 0e6266b88242 jdk/src/share/classes/com/sun/crypto/provider/DHKeyAgreement.java --- a/jdk/src/share/classes/com/sun/crypto/provider/DHKeyAgreement.java Wed Aug 22 21:40:19 2012 -0400 +++ b/jdk/src/share/classes/com/sun/crypto/provider/DHKeyAgreement.java Mon Oct 22 07:28:51 2012 -0700 @@ -41,6 +41,8 @@ import javax.crypto.SecretKey; import javax.crypto.spec.*; +import sun.security.util.KeyUtil; + /** * This class implements the Diffie-Hellman key agreement protocol between * any number of parties. @@ -200,6 +202,9 @@ throw new InvalidKeyException("Incompatible parameters"); } + // validate the Diffie-Hellman public key + KeyUtil.validate(dhPubKey); + // store the y value this.y = dhPubKey.getY();