Skip to content

Commit 185cf12

Browse files
committed
added ML-DSA-44/Ed25519 test.
1 parent 26b77b5 commit 185cf12

File tree

1 file changed

+45
-0
lines changed

1 file changed

+45
-0
lines changed

pkix/src/test/java/org/bouncycastle/openssl/test/CompositeKeyTest.java

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -499,6 +499,51 @@ public void testMLDSA44andP256()
499499
CompositePublicKey puKey = (CompositePublicKey)keyConverter.getPublicKey((SubjectPublicKeyInfo)pPrs.readObject());
500500
}
501501

502+
public void testMLDSA44andEd25519()
503+
throws Exception
504+
{
505+
//
506+
// set up the keys
507+
//
508+
KeyPairGenerator ecKpg = KeyPairGenerator.getInstance("ED25519", "BC");
509+
510+
KeyPair ecKp = ecKpg.generateKeyPair();
511+
512+
PrivateKey ecPriv = ecKp.getPrivate();
513+
PublicKey ecPub = ecKp.getPublic();
514+
515+
KeyPairGenerator rmldsaKpg = KeyPairGenerator.getInstance("ML-DSA-44", "BC");
516+
517+
KeyPair mldsaKp = rmldsaKpg.generateKeyPair();
518+
519+
PrivateKey mldsaPriv = mldsaKp.getPrivate();
520+
PublicKey mldsaPub = mldsaKp.getPublic();
521+
522+
CompositePrivateKey mlecPriv = new CompositePrivateKey(MiscObjectIdentifiers.id_MLDSA44_Ed25519_SHA512, mldsaPriv, ecPriv);
523+
524+
StringWriter sWrt = new StringWriter();
525+
JcaPEMWriter pWrt = new JcaPEMWriter(sWrt);
526+
527+
pWrt.writeObject(mlecPriv);
528+
529+
pWrt.close();
530+
531+
CompositePublicKey mlecPub = new CompositePublicKey(mldsaPub, ecPub);
532+
533+
pWrt = new JcaPEMWriter(sWrt);
534+
535+
pWrt.writeObject(mlecPub);
536+
537+
pWrt.close();
538+
539+
PEMParser pPrs = new PEMParser(new StringReader(sWrt.toString()));
540+
541+
JcaPEMKeyConverter keyConverter = new JcaPEMKeyConverter().setProvider("BC");
542+
CompositePrivateKey prKey = (CompositePrivateKey)keyConverter.getPrivateKey((PrivateKeyInfo)pPrs.readObject());
543+
544+
CompositePublicKey puKey = (CompositePublicKey)keyConverter.getPublicKey((SubjectPublicKeyInfo)pPrs.readObject());
545+
}
546+
502547
public void testMLDSA87andEd448()
503548
throws Exception
504549
{

0 commit comments

Comments
 (0)