@@ -207,6 +207,20 @@ public void operation()
207207 public void testJcaPGPDigestCalculatorProviderBuilder ()
208208 throws Exception
209209 {
210+
211+ PGPDigestCalculatorProvider digCalcBldr = new JcaPGPDigestCalculatorProviderBuilder ().setProvider (new NonDashProvider ()).build ();
212+ testDigestCalc (digCalcBldr .get (HashAlgorithmTags .SHA256 ), Hex .decode ("ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad" ));
213+
214+ PGPDigestCalculatorProvider digCalcBldr2 = new JcaPGPDigestCalculatorProviderBuilder ().setProvider (new DashProvider ()).build ();
215+ testDigestCalc (digCalcBldr2 .get (HashAlgorithmTags .SHA256 ), Hex .decode ("ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad" ));
216+
217+ PGPDigestCalculatorProvider digCalcBldr3 = new JcaPGPDigestCalculatorProviderBuilder ().setProvider (new NonDashProvider ()).build ();
218+ testDigestCalc (digCalcBldr3 .get (HashAlgorithmTags .SHA1 ), Hex .decode ("a9993e364706816aba3e25717850c26c9cd0d89d" ));
219+
220+ PGPDigestCalculatorProvider digCalcBldr4 = new JcaPGPDigestCalculatorProviderBuilder ().setProvider (new DashProvider ()).build ();
221+ testDigestCalc (digCalcBldr4 .get (HashAlgorithmTags .SHA1 ), Hex .decode ("a9993e364706816aba3e25717850c26c9cd0d89d" ));
222+
223+
210224 final PGPDigestCalculatorProvider provider = new JcaPGPDigestCalculatorProviderBuilder ().setProvider (new NullProvider ()).build ();
211225 testException ("exception on setup: " , "PGPException" , new TestExceptionOperation ()
212226 {
@@ -310,4 +324,27 @@ private class NullProvider
310324 super ("NULL" , 0.0 , "Null Provider" );
311325 }
312326 }
327+
328+ private class NonDashProvider
329+ extends Provider
330+ {
331+ NonDashProvider ()
332+ {
333+ super ("NonDash" , 0.0 , "NonDash Provider" );
334+ putService (new Provider .Service (this , "MessageDigest" , "SHA256" , "org.bouncycastle.openpgp.test.SHA256" , null , null ));
335+ putService (new Provider .Service (this , "MessageDigest" , "SHA1" , "org.bouncycastle.openpgp.test.SHA1" , null , null ));
336+ }
337+ }
338+
339+ private class DashProvider
340+ extends Provider
341+ {
342+ DashProvider ()
343+ {
344+ super ("Dash" , 0.0 , "Dash Provider" );
345+ putService (new Service (this , "MessageDigest" , "SHA-256" , "org.bouncycastle.openpgp.test.SHA256" , null , null ));
346+ putService (new Service (this , "MessageDigest" , "SHA-1" , "org.bouncycastle.openpgp.test.SHA1" , null , null ));
347+ }
348+ }
349+
313350}
0 commit comments