1515import java .security .spec .AlgorithmParameterSpec ;
1616import java .security .spec .EdECPrivateKeySpec ;
1717import java .security .spec .EdECPublicKeySpec ;
18- import java .security .spec .KeySpec ;
1918import java .security .spec .NamedParameterSpec ;
2019import java .util .Base64 ;
2120
21+ import junit .framework .Assert ;
2222import junit .framework .Test ;
2323import junit .framework .TestCase ;
2424import junit .framework .TestSuite ;
2525import org .bouncycastle .jcajce .interfaces .EdDSAPrivateKey ;
2626import org .bouncycastle .jcajce .spec .EdDSAParameterSpec ;
2727import org .bouncycastle .jcajce .spec .RawEncodedKeySpec ;
2828import org .bouncycastle .jce .provider .BouncyCastleProvider ;
29+ import org .bouncycastle .util .Arrays ;
2930import org .bouncycastle .util .Strings ;
3031
3132public class EdDSA15Test
@@ -158,10 +159,10 @@ private void implTestInterop(String algorithm)
158159 KeyFactory bcKeyFact = KeyFactory .getInstance (algorithm , bc );
159160 KeyPair kpSunEC = kpGenSunEC .generateKeyPair ();
160161
161- KeySpec pubSpec = sunKeyFact .getKeySpec (kpSunEC .getPublic (), EdECPublicKeySpec .class );
162+ EdECPublicKeySpec pubSpec = sunKeyFact .getKeySpec (kpSunEC .getPublic (), EdECPublicKeySpec .class );
162163 PublicKey pubKey = bcKeyFact .generatePublic (pubSpec );
163164
164- KeySpec privSpec = sunKeyFact .getKeySpec (kpSunEC .getPrivate (), EdECPrivateKeySpec .class );
165+ EdECPrivateKeySpec privSpec = sunKeyFact .getKeySpec (kpSunEC .getPrivate (), EdECPrivateKeySpec .class );
165166 PrivateKey privKey = bcKeyFact .generatePrivate (privSpec );
166167
167168 sigBC .initSign (kpSunEC .getPrivate ());
@@ -174,7 +175,7 @@ private void implTestInterop(String algorithm)
174175
175176 sigBC .update (Strings .toByteArray ("Hello, world!" ));
176177
177- sigBC .verify (sig );
178+ Assert . assertTrue ( sigBC .verify (sig ) );
178179
179180 sigBC .initSign (privKey );
180181
@@ -186,7 +187,18 @@ private void implTestInterop(String algorithm)
186187
187188 sigBC .update (Strings .toByteArray ("Hello, world!" ));
188189
189- sigBC .verify (sig );
190+ Assert .assertTrue (sigBC .verify (sig ));
191+
192+ EdECPrivateKeySpec bcPrivSpec = bcKeyFact .getKeySpec (privKey , EdECPrivateKeySpec .class );
193+
194+ Assert .assertEquals (privSpec .getParams ().getName (), bcPrivSpec .getParams ().getName ());
195+ Assert .assertTrue (Arrays .areEqual (privSpec .getBytes (), bcPrivSpec .getBytes ()));
196+
197+ EdECPublicKeySpec bcPubSpec = bcKeyFact .getKeySpec (pubKey , EdECPublicKeySpec .class );
198+
199+ Assert .assertEquals (pubSpec .getParams ().getName (), bcPubSpec .getParams ().getName ());
200+ Assert .assertEquals (pubSpec .getPoint ().isXOdd (), bcPubSpec .getPoint ().isXOdd ());
201+ Assert .assertEquals (pubSpec .getPoint ().getY (), bcPubSpec .getPoint ().getY ());
190202 }
191203
192204 private void implTestInteropCase (KeyPair kp , Signature signer , Signature verifier )
0 commit comments