[java-opensaml COMMIT] in /trunk/opensaml-security-api/src: main/java/org/opensaml/security/crypto/KeySupport.java te...
noreply at shibboleth.net
noreply at shibboleth.net
Thu May 8 20:52:07 EDT 2014
Author: putmanb
Date: Thu May 8 20:52:07 2014
New Revision: 3849
URL: http://svn.shibboleth.net/view/java-opensaml?rev=3849&view=rev
Log:
Port forward: JXT-110: SecurityHelper derivePublicKey incorrectly derives public key for DSAPrivateKey
Modified:
trunk/opensaml-security-api/src/main/java/org/opensaml/security/crypto/KeySupport.java
trunk/opensaml-security-api/src/test/java/org/opensaml/security/crypto/KeySupportTest.java
Modified: trunk/opensaml-security-api/src/main/java/org/opensaml/security/crypto/KeySupport.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-security-api/src/main/java/org/opensaml/security/crypto/KeySupport.java?rev=3849&r1=3848&r2=3849&view=diff
==============================================================================
--- trunk/opensaml-security-api/src/main/java/org/opensaml/security/crypto/KeySupport.java (original)
+++ trunk/opensaml-security-api/src/main/java/org/opensaml/security/crypto/KeySupport.java Thu May 8 20:52:07 2014
@@ -211,7 +211,7 @@
if (key instanceof DSAPrivateKey) {
DSAPrivateKey dsaKey = (DSAPrivateKey) key;
DSAParams keyParams = dsaKey.getParams();
- BigInteger y = keyParams.getQ().modPow(dsaKey.getX(), keyParams.getP());
+ BigInteger y = keyParams.getG().modPow(dsaKey.getX(), keyParams.getP());
DSAPublicKeySpec pubKeySpec = new DSAPublicKeySpec(y, keyParams.getP(), keyParams.getQ(), keyParams.getG());
try {
Modified: trunk/opensaml-security-api/src/test/java/org/opensaml/security/crypto/KeySupportTest.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-security-api/src/test/java/org/opensaml/security/crypto/KeySupportTest.java?rev=3849&r1=3848&r2=3849&view=diff
==============================================================================
--- trunk/opensaml-security-api/src/test/java/org/opensaml/security/crypto/KeySupportTest.java (original)
+++ trunk/opensaml-security-api/src/test/java/org/opensaml/security/crypto/KeySupportTest.java Thu May 8 20:52:07 2014
@@ -98,12 +98,14 @@
PublicKey pubKey = KeySupport.derivePublicKey(privKey);
Assert.assertNotNull(pubKey);
Assert.assertEquals(pubKey.getAlgorithm(), "RSA");
+ Assert.assertTrue(KeySupport.matchKeyPair(pubKey, privKey));
pubKey = null;
privKey = testPrivKey(dsaPrivKeyPEMNoEncrypt, null, "DSA");
pubKey = KeySupport.derivePublicKey(privKey);
Assert.assertNotNull(pubKey);
Assert.assertEquals(pubKey.getAlgorithm(), "DSA");
+ Assert.assertTrue(KeySupport.matchKeyPair(pubKey, privKey));
}
More information about the commits
mailing list