javax.crypto

Mohan Embar gnustuff@thisiscool.com
Wed Sep 20 18:52:00 GMT 2006


Hi Marco,

>I use a --disable-shared GCJ, built two days ago (revision 117030)...
>
>What's the state of javax.crypto? Gnu classpath states that they 
>implemented it mostly. But when running a compiled test app (attached), 
>I get:
>
>WARNING: Error loading security provider gnu.javax.crypto.jce.GnuCrypto: 
>java.lang.ClassNotFoundException: gnu.javax.crypto.jce.GnuCrypto

...

Here is a static initializer I use in order to get the GNU crypto stuff to
work:

static
{
    Class c;
    c = gnu.java.security.jce.sig.SHA160withDSS.class;
    c = gnu.java.security.jce.sig.MD2withRSA.class;
    c = gnu.java.security.jce.sig.MD5withRSA.class;
    c = gnu.java.security.jce.sig.SHA160withRSA.class;
    c = gnu.java.security.jce.sig.SHA256withRSA.class;
    c = gnu.java.security.jce.sig.SHA384withRSA.class;
    c = gnu.java.security.jce.sig.SHA512withRSA.class;
    c = gnu.java.security.jce.sig.DSSRawSignatureSpi.class;
    c = gnu.java.security.jce.sig.RSAPSSRawSignatureSpi.class;
    c = gnu.java.security.jce.sig.DSSKeyPairGeneratorSpi.class;
    c = gnu.java.security.jce.sig.RSAKeyPairGeneratorSpi.class;
    c = gnu.java.security.jce.sig.DSSKeyFactory.class;
    c = gnu.java.security.jce.sig.RSAKeyFactory.class;
    c = gnu.java.security.jce.sig.EncodedKeyFactory.class;
    c = gnu.java.security.jce.hash.HavalSpi.class;
    c = gnu.java.security.jce.hash.MD2Spi.class;
    c = gnu.java.security.jce.hash.MD4Spi.class;
    c = gnu.java.security.jce.hash.MD5Spi.class;
    c = gnu.java.security.jce.hash.RipeMD128Spi.class;
    c = gnu.java.security.jce.hash.RipeMD160Spi.class;
    c = gnu.java.security.jce.hash.Sha160Spi.class;
    c = gnu.java.security.jce.hash.Sha256Spi.class;
    c = gnu.java.security.jce.hash.Sha384Spi.class;
    c = gnu.java.security.jce.hash.Sha512Spi.class;
    c = gnu.java.security.jce.hash.TigerSpi.class;
    c = gnu.java.security.jce.hash.WhirlpoolSpi.class;
    c = gnu.java.security.jce.sig.DSSParameters.class;
    c = gnu.java.security.jce.sig.DSSParametersGenerator.class;
    c = gnu.java.security.jce.prng.Sha160RandomSpi.class;
    c = gnu.java.security.jce.prng.MD2RandomSpi.class;
    c = gnu.java.security.jce.prng.MD4RandomSpi.class;
    c = gnu.java.security.jce.prng.MD5RandomSpi.class;
    c = gnu.java.security.jce.prng.RipeMD128RandomSpi.class;
    c = gnu.java.security.jce.prng.RipeMD160RandomSpi.class;
    c = gnu.java.security.jce.prng.Sha160RandomSpi.class;
    c = gnu.java.security.jce.prng.Sha256RandomSpi.class;
    c = gnu.java.security.jce.prng.Sha384RandomSpi.class;
    c = gnu.java.security.jce.prng.Sha512RandomSpi.class;
    c = gnu.java.security.jce.prng.TigerRandomSpi.class;
    c = gnu.java.security.jce.prng.HavalRandomSpi.class;
    c = gnu.java.security.jce.prng.WhirlpoolRandomSpi.class;
    c = gnu.java.security.provider.X509CertificateFactory.class;
    c = gnu.java.security.provider.PKIXCertPathValidatorImpl.class;
    c = gnu.java.security.provider.CollectionCertStoreImpl.class;
    c = gnu.javax.crypto.jce.cipher.AnubisSpi.class;
    c = gnu.javax.crypto.jce.cipher.ARCFourSpi.class;
    c = gnu.javax.crypto.jce.cipher.BlowfishSpi.class;
    c = gnu.javax.crypto.jce.cipher.DESSpi.class;
    c = gnu.javax.crypto.jce.cipher.KhazadSpi.class;
    c = gnu.javax.crypto.jce.cipher.NullCipherSpi.class;
    c = gnu.javax.crypto.jce.cipher.RijndaelSpi.class;
    c = gnu.javax.crypto.jce.cipher.RijndaelSpi.class;
    c = gnu.javax.crypto.jce.cipher.SerpentSpi.class;
    c = gnu.javax.crypto.jce.cipher.SquareSpi.class;
    c = gnu.javax.crypto.jce.cipher.TripleDESSpi.class;
    c = gnu.javax.crypto.jce.cipher.TwofishSpi.class;
    c = gnu.javax.crypto.jce.cipher.Cast5Spi.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacHaval.AES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacHaval.Anubis.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacHaval.Blowfish.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacHaval.Cast5.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacHaval.DES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacHaval.Khazad.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacHaval.Serpent.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacHaval.Square.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacHaval.TripleDES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacHaval.Twofish.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD2.AES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD2.Anubis.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD2.Blowfish.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD2.Cast5.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD2.DES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD2.Khazad.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD2.Serpent.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD2.Square.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD2.TripleDES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD2.Twofish.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD4.AES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD4.Anubis.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD4.Blowfish.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD4.Cast5.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD4.DES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD4.Khazad.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD4.Serpent.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD4.Square.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD4.TripleDES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD4.Twofish.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD5.AES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD5.Anubis.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD5.Blowfish.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD5.Cast5.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD5.DES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD5.Khazad.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD5.Serpent.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD5.Square.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD5.TripleDES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacMD5.Twofish.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA1.AES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA1.Anubis.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA1.Blowfish.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA1.Cast5.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA1.DES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA1.Khazad.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA1.Serpent.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA1.Square.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA1.TripleDES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA1.Twofish.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA256.AES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA256.Anubis.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA256.Blowfish.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA256.Cast5.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA256.DES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA256.Khazad.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA256.Serpent.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA256.Square.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA256.TripleDES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA256.Twofish.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA384.AES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA384.Anubis.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA384.Blowfish.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA384.Cast5.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA384.DES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA384.Khazad.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA384.Serpent.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA384.Square.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA384.TripleDES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA384.Twofish.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA512.AES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA512.Anubis.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA512.Blowfish.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA512.Cast5.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA512.DES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA512.Khazad.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA512.Serpent.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA512.Square.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA512.TripleDES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacSHA512.Twofish.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacTiger.AES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacTiger.Anubis.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacTiger.Blowfish.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacTiger.Cast5.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacTiger.DES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacTiger.Khazad.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacTiger.Serpent.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacTiger.Square.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacTiger.TripleDES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacTiger.Twofish.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacWhirlpool.AES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacWhirlpool.Anubis.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacWhirlpool.Blowfish.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacWhirlpool.Cast5.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacWhirlpool.DES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacWhirlpool.Khazad.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacWhirlpool.Serpent.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacWhirlpool.Square.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacWhirlpool.TripleDES.class;
    c = gnu.javax.crypto.jce.cipher.PBES2.HMacWhirlpool.Twofish.class;
    c = gnu.javax.crypto.jce.PBKDF2SecretKeyFactory.HMacHaval.class;
    c = gnu.javax.crypto.jce.PBKDF2SecretKeyFactory.HMacMD2.class;
    c = gnu.javax.crypto.jce.PBKDF2SecretKeyFactory.HMacMD4.class;
    c = gnu.javax.crypto.jce.PBKDF2SecretKeyFactory.HMacMD5.class;
    c = gnu.javax.crypto.jce.PBKDF2SecretKeyFactory.HMacSHA1.class;
    c = gnu.javax.crypto.jce.PBKDF2SecretKeyFactory.HMacSHA256.class;
    c = gnu.javax.crypto.jce.PBKDF2SecretKeyFactory.HMacSHA384.class;
    c = gnu.javax.crypto.jce.PBKDF2SecretKeyFactory.HMacSHA512.class;
    c = gnu.javax.crypto.jce.PBKDF2SecretKeyFactory.HMacTiger.class;
    c = gnu.javax.crypto.jce.PBKDF2SecretKeyFactory.HMacWhirlpool.class;
    c = gnu.javax.crypto.jce.key.AnubisSecretKeyFactoryImpl.class;
    c = gnu.javax.crypto.jce.key.BlowfishSecretKeyFactoryImpl.class;
    c = gnu.javax.crypto.jce.key.Cast5SecretKeyFactoryImpl.class;
    c = gnu.javax.crypto.jce.key.DESSecretKeyFactoryImpl.class;
    c = gnu.javax.crypto.jce.key.KhazadSecretKeyFactoryImpl.class;
    c = gnu.javax.crypto.jce.key.RijndaelSecretKeyFactoryImpl.class;
    c = gnu.javax.crypto.jce.key.SerpentSecretKeyFactoryImpl.class;
    c = gnu.javax.crypto.jce.key.SquareSecretKeyFactoryImpl.class;
    c = gnu.javax.crypto.jce.key.DESedeSecretKeyFactoryImpl.class;
    c = gnu.javax.crypto.jce.params.BlockCipherParameters.class;
    c = gnu.javax.crypto.jce.key.AnubisKeyGeneratorImpl.class;
    c = gnu.javax.crypto.jce.key.BlowfishKeyGeneratorImpl.class;
    c = gnu.javax.crypto.jce.key.Cast5KeyGeneratorImpl.class;
    c = gnu.javax.crypto.jce.key.DESKeyGeneratorImpl.class;
    c = gnu.javax.crypto.jce.key.KhazadKeyGeneratorImpl.class;
    c = gnu.javax.crypto.jce.key.RijndaelKeyGeneratorImpl.class;
    c = gnu.javax.crypto.jce.key.SerpentKeyGeneratorImpl.class;
    c = gnu.javax.crypto.jce.key.SquareKeyGeneratorImpl.class;
    c = gnu.javax.crypto.jce.key.TripleDESKeyGeneratorImpl.class;
    c = gnu.javax.crypto.jce.mac.HMacMD2Spi.class;
    c = gnu.javax.crypto.jce.mac.HMacMD4Spi.class;
    c = gnu.javax.crypto.jce.mac.HMacMD5Spi.class;
    c = gnu.javax.crypto.jce.mac.HMacRipeMD128Spi.class;
    c = gnu.javax.crypto.jce.mac.HMacRipeMD160Spi.class;
    c = gnu.javax.crypto.jce.mac.HMacSHA160Spi.class;
    c = gnu.javax.crypto.jce.mac.HMacSHA256Spi.class;
    c = gnu.javax.crypto.jce.mac.HMacSHA384Spi.class;
    c = gnu.javax.crypto.jce.mac.HMacSHA512Spi.class;
    c = gnu.javax.crypto.jce.mac.HMacTigerSpi.class;
    c = gnu.javax.crypto.jce.mac.HMacHavalSpi.class;
    c = gnu.javax.crypto.jce.mac.HMacWhirlpoolSpi.class;
    c = gnu.javax.crypto.jce.mac.TMMH16Spi.class;
    c = gnu.javax.crypto.jce.mac.UHash32Spi.class;
    c = gnu.javax.crypto.jce.mac.UMac32Spi.class;
    c = gnu.javax.crypto.jce.mac.OMacAnubisImpl.class;
    c = gnu.javax.crypto.jce.mac.OMacBlowfishImpl.class;
    c = gnu.javax.crypto.jce.mac.OMacCast5Impl.class;
    c = gnu.javax.crypto.jce.mac.OMacDESImpl.class;
    c = gnu.javax.crypto.jce.mac.OMacKhazadImpl.class;
    c = gnu.javax.crypto.jce.mac.OMacRijndaelImpl.class;
    c = gnu.javax.crypto.jce.mac.OMacSerpentImpl.class;
    c = gnu.javax.crypto.jce.mac.OMacSquareImpl.class;
    c = gnu.javax.crypto.jce.mac.OMacTripleDESImpl.class;
    c = gnu.javax.crypto.jce.mac.OMacTwofishImpl.class;
    c = gnu.javax.crypto.jce.DiffieHellmanImpl.class;
    c = gnu.javax.crypto.RSACipherImpl.class;
    c = gnu.javax.crypto.jce.prng.ARCFourRandomSpi.class;
    c = gnu.javax.crypto.jce.prng.CSPRNGSpi.class;
    c = gnu.javax.crypto.jce.prng.ICMRandomSpi.class;
    c = gnu.javax.crypto.jce.prng.UMacRandomSpi.class;
    c = gnu.javax.crypto.jce.prng.FortunaImpl.class;
    c = gnu.javax.crypto.jce.keyring.GnuKeyring.class;
    c = gnu.javax.crypto.jce.sig.DHKeyPairGeneratorSpi.class;
    c = gnu.javax.crypto.jce.sig.DHKeyFactory.class;
    c = gnu.javax.crypto.jce.sig.DHParameters.class;
    c = gnu.javax.crypto.jce.sig.DHParametersGenerator.class;
    c = gnu.javax.net.ssl.provider.Context.class;
    c = gnu.javax.net.ssl.provider.X509KeyManagerFactory.class;
    c = gnu.javax.net.ssl.provider.X509TrustManagerFactory.class;
    c = gnu.javax.net.ssl.provider.SRPTrustManagerFactory.class;
}

-- Mohan
http://www.thisiscool.com/
http://www.animalsong.org/






More information about the Java mailing list