put("Signature.SHA1withRSA", SHA1withRSA.class.getName()); put("Signature.SHA1withRSA ImplementedIn", "Software"); put("Alg.Alias.Signature.sha-1WithRSAEncryption", "SHA1withRSA"); put("Alg.Alias.Signature.OID.1.2.840.113549.1.1.5", "SHA1withRSA"); put("Alg.Alias.Signature.1.2.840.113549.1.1.5", "SHA1withRSA");
put("Signature.SHA160withRSA", gnu.java.security.jce.sig.SHA160withRSA.class.getName()); put("Signature.SHA160withRSA ImplementedIn", "Software"); put("Alg.Alias.Signature.sha-1WithRSAEncryption", "SHA160withRSA"); put("Alg.Alias.Signature.sha-160WithRSAEncryption", "SHA160withRSA"); put("Alg.Alias.Signature.sha1WithRSAEncryption", "SHA160withRSA"); put("Alg.Alias.Signature.OID.1.2.840.113549.1.1.5", "SHA160withRSA"); put("Alg.Alias.Signature.1.2.840.113549.1.1.5", "SHA160withRSA"); put("Alg.Alias.Signature.SHA1withRSA", "SHA160withRSA");  put("Signature.SHA256withRSA", gnu.java.security.jce.sig.SHA256withRSA.class.getName()); put("Signature.SHA160withRSA ImplementedIn", "Software"); put("Alg.Alias.Signature.sha256WithRSAEncryption", "SHA256withRSA"); put("Alg.Alias.Signature.OID.1.2.840.113549.1.1.11", "SHA256withRSA"); put("Alg.Alias.Signature.1.2.840.113549.1.1.11", "SHA256withRSA");  put("Signature.SHA384withRSA", gnu.java.security.jce.sig.SHA384withRSA.class.getName()); put("Signature.SHA160withRSA ImplementedIn", "Software"); put("Alg.Alias.Signature.sha384WithRSAEncryption", "SHA384withRSA"); put("Alg.Alias.Signature.OID.1.2.840.113549.1.1.12", "SHA384withRSA"); put("Alg.Alias.Signature.1.2.840.113549.1.1.12", "SHA384withRSA");  put("Signature.SHA512withRSA", gnu.java.security.jce.sig.SHA512withRSA.class.getName()); put("Signature.SHA160withRSA ImplementedIn", "Software"); put("Alg.Alias.Signature.sha512WithRSAEncryption", "SHA512withRSA"); put("Alg.Alias.Signature.OID.1.2.840.113549.1.1.13", "SHA512withRSA"); put("Alg.Alias.Signature.1.2.840.113549.1.1.13", "SHA512withRSA");  put("Signature.DSS/RAW", gnu.java.security.jce.sig.DSSRawSignatureSpi.class.getName()); put("Signature.DSS/RAW KeySize", "1024"); put("Signature.DSS/RAW ImplementedIn", "Software");  put("Signature.RSA-PSS/RAW", gnu.java.security.jce.sig.RSAPSSRawSignatureSpi.class.getName()); put("Signature.RSA-PSS/RAW KeySize", "1024"); put("Signature.RSA-PSS/RAW ImplementedIn", "Software");
  public Gnu()  {    super("GNU", 1.0, "GNU provider v1.0 implementing SHA-1, MD5, DSA, RSA, X.509 Certificates and CRLs, PKIX certificate path validators, Collection cert stores");    AccessController.doPrivileged (new PrivilegedAction()    {      public Object run()      {    // Note that all implementation class names are referenced by using    // Class.getName(). That way when we staticly link the Gnu provider    // we automatically get all the implementation classes.    // Signature    put("Signature.SHA1withDSA",        gnu.java.security.provider.DSASignature.class.getName());    put("Alg.Alias.Signature.DSS", "SHA1withDSA");    put("Alg.Alias.Signature.DSA", "SHA1withDSA");    put("Alg.Alias.Signature.SHAwithDSA", "SHA1withDSA");    put("Alg.Alias.Signature.DSAwithSHA", "SHA1withDSA");    put("Alg.Alias.Signature.DSAwithSHA1", "SHA1withDSA");    put("Alg.Alias.Signature.SHA/DSA", "SHA1withDSA");    put("Alg.Alias.Signature.SHA-1/DSA", "SHA1withDSA");    put("Alg.Alias.Signature.SHA1/DSA", "SHA1withDSA");    put("Alg.Alias.Signature.OID.1.2.840.10040.4.3", "SHA1withDSA");    put("Alg.Alias.Signature.1.2.840.10040.4.3", "SHA1withDSA");    put("Alg.Alias.Signature.1.3.14.3.2.13", "SHA1withDSA");    put("Alg.Alias.Signature.1.3.14.3.2.27", "SHA1withDSA");        put("Signature.MD2withRSA", MD2withRSA.class.getName());        put("Signature.MD2withRSA ImplementedIn", "Software");        put("Alg.Alias.Signature.md2WithRSAEncryption", "MD2withRSA");        put("Alg.Alias.Signature.OID.1.2.840.113549.1.1.2", "MD2withRSA");        put("Alg.Alias.Signature.1.2.840.113549.1.1.2", "MD2withRSA");        put("Signature.MD4withRSA", MD4withRSA.class.getName());        put("Signature.MD4withRSA ImplementedIn", "Software");        put("Alg.Alias.Signature.md4WithRSAEncryption", "MD4withRSA");        put("Alg.Alias.Signature.OID.1.2.840.113549.1.1.3", "MD4withRSA");        put("Alg.Alias.Signature.1.2.840.113549.1.1.3", "MD4withRSA");        put("Signature.MD5withRSA", MD5withRSA.class.getName());        put("Signature.MD5withRSA ImplementedIn", "Software");        put("Alg.Alias.Signature.md5WithRSAEncryption", "MD5withRSA");        put("Alg.Alias.Signature.OID.1.2.840.113549.1.1.4", "MD5withRSA");        put("Alg.Alias.Signature.1.2.840.113549.1.1.4", "MD5withRSA");        put("Signature.SHA1withRSA", SHA1withRSA.class.getName());        put("Signature.SHA1withRSA ImplementedIn", "Software");        put("Alg.Alias.Signature.sha-1WithRSAEncryption", "SHA1withRSA");        put("Alg.Alias.Signature.OID.1.2.840.113549.1.1.5", "SHA1withRSA");        put("Alg.Alias.Signature.1.2.840.113549.1.1.5", "SHA1withRSA");    // Key Pair Generator    put("KeyPairGenerator.DSA",        gnu.java.security.provider.DSAKeyPairGenerator.class.getName());    put("Alg.Alias.KeyPairGenerator.OID.1.2.840.10040.4.1", "DSA");    put("Alg.Alias.KeyPairGenerator.1.2.840.10040.4.1", "DSA");    put("Alg.Alias.KeyPairGenerator.1.3.14.3.2.12", "DSA");    // Key Factory    put("KeyFactory.DSA",        gnu.java.security.provider.DSAKeyFactory.class.getName());        put("KeyFactory.Encoded", EncodedKeyFactory.class.getName());        put("KeyFactory.Encoded ImplementedIn", "Software");        put("Alg.Alias.KeyFactory.X.509", "Encoded");        put("Alg.Alias.KeyFactory.X509", "Encoded");        put("Alg.Alias.KeyFactory.PKCS#8", "Encoded");        put("Alg.Alias.KeyFactory.PKCS8", "Encoded");        put("KeyFactory.RSA", RSAKeyFactory.class.getName());    put("Alg.Alias.KeyFactory.OID.1.2.840.10040.4.1", "DSA");    put("Alg.Alias.KeyFactory.1.2.840.10040.4.1", "DSA");    put("Alg.Alias.KeyFactory.1.3.14.3.2.12", "DSA");    // Message Digests    put("MessageDigest.SHA", gnu.java.security.provider.SHA.class.getName());    put("MessageDigest.MD5", gnu.java.security.provider.MD5.class.getName());    // Format "Alias", "Actual Name"    put("Alg.Alias.MessageDigest.SHA1", "SHA");    put("Alg.Alias.MessageDigest.SHA-1", "SHA");        put("Alg.Alias.MessageDigest.SHA-160", "SHA");    // Algorithm Parameters    put("AlgorithmParameters.DSA",        gnu.java.security.provider.DSAParameters.class.getName());        put("Alg.Alias.AlgorithmParameters.DSS", "DSA");        put("Alg.Alias.AlgorithmParameters.SHAwithDSA", "DSA");        put("Alg.Alias.AlgorithmParameters.OID.1.2.840.10040.4.3", "DSA");        put("Alg.Alias.AlgorithmParameters.1.2.840.10040.4.3", "DSA");    // Algorithm Parameter Generator    put("AlgorithmParameterGenerator.DSA",        gnu.java.security.provider.DSAParameterGenerator.class.getName());    // SecureRandom    put("SecureRandom.SHA1PRNG",        gnu.java.security.provider.SHA1PRNG.class.getName());    // CertificateFactory        put("CertificateFactory.X509", X509CertificateFactory.class.getName());        put("CertificateFactory.X509 ImplementedIn", "Software");        put("Alg.Alias.CertificateFactory.X.509", "X509");        // CertPathValidator        put("CertPathValidator.PKIX", PKIXCertPathValidatorImpl.class.getName());        put("CertPathValidator.PKIX ImplementedIn", "Software");        // CertStore        put("CertStore.Collection", CollectionCertStoreImpl.class.getName());        return null;      }    });  }