package org.company.security.csp; import static org.junit.Assert.assertNotEquals; import java.security.MessageDigest; import java.security.Security; import org.bouncycastle.jce.provider.BouncyCastleProvider; import org.junit.BeforeClass; import org.junit.Test; public class TestDigest { private static final String CSP_PROVIDER = "CSPProvider"; private static final String CSP_DIGEST = "GOST3411"; private static final String BC_PROVIDER = "BC"; private static final String BC_DIGEST = "GOST3411"; @BeforeClass public static void setUpBeforeClass() throws Exception { LoadNative.loadProvider(); if(Security.getProvider(CSP_PROVIDER) == null) Security.addProvider(new CSPProvider()); if(Security.getProperty(BC_PROVIDER) == null) Security.addProvider(new BouncyCastleProvider()); } @Test public void test() throws Exception { byte[] input = new byte[]{ 1, 2, 3 }; MessageDigest messageDigestBC = MessageDigest.getInstance(BC_DIGEST, BC_PROVIDER); messageDigestBC.digest(input); byte[] digestBC = messageDigestBC.digest(); MessageDigest messageDigestCSP = MessageDigest.getInstance(CSP_DIGEST, CSP_PROVIDER); messageDigestCSP.digest(input); byte[] digestCSP = messageDigestCSP.digest(); assertNotEquals("MessageDigest error", digestCSP, digestBC); } }