diff options
Diffstat (limited to 'bcprov/src/main/java/org/bouncycastle/jcajce/provider/util/DigestFactory.java')
-rw-r--r-- | bcprov/src/main/java/org/bouncycastle/jcajce/provider/util/DigestFactory.java | 67 |
1 files changed, 53 insertions, 14 deletions
diff --git a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/util/DigestFactory.java b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/util/DigestFactory.java index ce8bb363..9869b1c6 100644 --- a/bcprov/src/main/java/org/bouncycastle/jcajce/provider/util/DigestFactory.java +++ b/bcprov/src/main/java/org/bouncycastle/jcajce/provider/util/DigestFactory.java @@ -10,15 +10,6 @@ import org.bouncycastle.asn1.nist.NISTObjectIdentifiers; import org.bouncycastle.asn1.oiw.OIWObjectIdentifiers; import org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers; import org.bouncycastle.crypto.Digest; -// BEGIN android-removed -// import org.bouncycastle.crypto.digests.MD5Digest; -// import org.bouncycastle.crypto.digests.SHA1Digest; -// import org.bouncycastle.crypto.digests.SHA224Digest; -// import org.bouncycastle.crypto.digests.SHA256Digest; -// import org.bouncycastle.crypto.digests.SHA384Digest; -// import org.bouncycastle.crypto.digests.SHA512Digest; -// import org.bouncycastle.crypto.digests.SHA512tDigest; -// END android-removed // BEGIN android-added import org.bouncycastle.crypto.digests.AndroidDigestFactory; // END android-added @@ -35,6 +26,10 @@ public class DigestFactory // BEGIN android-removed // private static Set sha512_224 = new HashSet(); // private static Set sha512_256 = new HashSet(); + // private static Set sha3_224 = new HashSet(); + // private static Set sha3_256 = new HashSet(); + // private static Set sha3_384 = new HashSet(); + // private static Set sha3_512 = new HashSet(); // END android-removed private static Map oids = new HashMap(); @@ -72,8 +67,21 @@ public class DigestFactory // sha512_256.add("SHA512(256)"); // sha512_256.add("SHA-512(256)"); // sha512_256.add(NISTObjectIdentifiers.id_sha512_256.getId()); + + // sha3_224.add("SHA3-224"); + // sha3_224.add(NISTObjectIdentifiers.id_sha3_224.getId()); + + // sha3_256.add("SHA3-256"); + // sha3_256.add(NISTObjectIdentifiers.id_sha3_256.getId()); + + // sha3_384.add("SHA3-384"); + // sha3_384.add(NISTObjectIdentifiers.id_sha3_384.getId()); + + // sha3_512.add("SHA3-512"); + // sha3_512.add(NISTObjectIdentifiers.id_sha3_512.getId()); // END android-removed + oids.put("MD5", PKCSObjectIdentifiers.md5); oids.put(PKCSObjectIdentifiers.md5.getId(), PKCSObjectIdentifiers.md5); @@ -104,6 +112,18 @@ public class DigestFactory oids.put("SHA512(256)", NISTObjectIdentifiers.id_sha512_256); oids.put("SHA-512(256)", NISTObjectIdentifiers.id_sha512_256); oids.put(NISTObjectIdentifiers.id_sha512_256.getId(), NISTObjectIdentifiers.id_sha512_256); + + oids.put("SHA3-224", NISTObjectIdentifiers.id_sha3_224); + oids.put(NISTObjectIdentifiers.id_sha3_224.getId(), NISTObjectIdentifiers.id_sha3_224); + + oids.put("SHA3-256", NISTObjectIdentifiers.id_sha3_256); + oids.put(NISTObjectIdentifiers.id_sha3_256.getId(), NISTObjectIdentifiers.id_sha3_256); + + oids.put("SHA3-384", NISTObjectIdentifiers.id_sha3_384); + oids.put(NISTObjectIdentifiers.id_sha3_384.getId(), NISTObjectIdentifiers.id_sha3_384); + + oids.put("SHA3-512", NISTObjectIdentifiers.id_sha3_512); + oids.put(NISTObjectIdentifiers.id_sha3_512.getId(), NISTObjectIdentifiers.id_sha3_512); } public static Digest getDigest( @@ -141,8 +161,7 @@ public class DigestFactory return AndroidDigestFactory.getSHA384(); // END android-changed } - if (sha512.contains(digestName)) - { + if (sha512.contains(digestName)) { // BEGIN android-changed return AndroidDigestFactory.getSHA512(); // END android-changed @@ -150,13 +169,29 @@ public class DigestFactory // BEGIN android-removed // if (sha512_224.contains(digestName)) // { - // return new SHA512tDigest(224); + // return org.bouncycastle.crypto.util.DigestFactory.createSHA512_224(); // } // if (sha512_256.contains(digestName)) // { - // return new SHA512tDigest(256); + // return org.bouncycastle.crypto.util.DigestFactory.createSHA512_256(); + // } + // + // if (sha3_224.contains(digestName)) + // { + // return org.bouncycastle.crypto.util.DigestFactory.createSHA3_224(); + // } + // if (sha3_256.contains(digestName)) + // { + // return org.bouncycastle.crypto.util.DigestFactory.createSHA3_256(); + // } + // if (sha3_384.contains(digestName)) + // { + // return org.bouncycastle.crypto.util.DigestFactory.createSHA3_384(); + // } + // if (sha3_512.contains(digestName)) + // { + // return org.bouncycastle.crypto.util.DigestFactory.createSHA3_512(); // } - // END android-removed return null; } @@ -173,6 +208,10 @@ public class DigestFactory // BEGIN android-removed // || (sha512_224.contains(digest1) && sha512_224.contains(digest2)) // || (sha512_256.contains(digest1) && sha512_256.contains(digest2)) + // || (sha3_224.contains(digest1) && sha3_224.contains(digest2)) + // || (sha3_256.contains(digest1) && sha3_256.contains(digest2)) + // || (sha3_384.contains(digest1) && sha3_384.contains(digest2)) + // || (sha3_512.contains(digest1) && sha3_512.contains(digest2)) // END android-removed || (md5.contains(digest1) && md5.contains(digest2)); } |