ich versuche seit ca 2 Tagen unter Eclipse BouncyCastle zu
installieren... Aber Eclipse erkennt
import org.bouncycastle.jce.provider.*
nicht und meldet, dass es nicht auflösen kann... kann mir jemand dabei
helfen?... eventuell mir sagen, wo ich diesen org Ordner anlegen
soll... ich dachte es hätte geklappt, aber es scheint doch nicht so
gewesen zu sein...
freu mich schon auf eine Antwort
mfG
Ümit Yildirim
> Aber Eclipse erkennt
> import org.bouncycastle.jce.provider.*
> nicht und meldet, dass es nicht auflösen kann...
Hast Du die JAR-Datei in den Build-Path des Java-Projekts aufgenommen, in
der Du die API benutzen willst?
Gruß,
Thorsten
Hallo,
jetzt habe ich das Problem mit dem import zwar gelöst, aber bekomme
beim kompilieren bzw ausführen weitere Fehlermeldungen.. und zwar:
java.lang.ExceptionInInitializerError
at javax.crypto.SecretKeyFactory.getInstance(DashoA6275)
at quellCode.main(quellCode.java:39)
Caused by: java.lang.SecurityException: Cannot set up certs for
trusted CAs
at javax.crypto.SunJCE_b.<clinit>(DashoA6275)
... 2 more
Caused by: java.security.PrivilegedActionException:
java.security.InvalidKeyException: Public key presented not for
certificate signature
at java.security.AccessController.doPrivileged(Native Method)
... 3 more
Caused by: java.security.InvalidKeyException: Public key presented not
for certificate signature
at org.bouncycastle.jce.provider.X509CertificateObject.verify(X509CertificateObject.java:658)
at javax.crypto.SunJCE_b.c(DashoA6275)
at javax.crypto.SunJCE_b.b(DashoA6275)
at javax.crypto.SunJCE_s.run(DashoA6275)
... 4 more
Exception in thread "main"
Ich schreib mal nur meine Main-Methode:
public static void main(String[] args) throws Exception
{
Security.insertProviderAt(new BouncyCastleProvider(),1);
Provider p = Security.getProviders()[0];
System.out.println(p.getInfo());
/*
KeyGenerator keyGen = KeyGenerator.getInstance("DES");
//KeyGenerator keyGen = KeyGenerator.getInstance("AES","BC");
SecretKey bcDesKey = keyGen.generateKey();
SecretKeyFactory desKeyFact =
SecretKeyFactory.getInstance("AES","BC");
DESKeySpec desKeySpecV1 =
(DESKeySpec)desKeyFact.getKeySpec(bcDesKey,Class.forName("javax.crypto.spec.DESKeySpec"));
System.out.println(toHexString(desKeySpecV1.getKey()));
*/
byte[] myKey= {(byte)0x2A, (byte)0x64, (byte)0x65,(byte)0x73,
(byte)0x4B, (byte)0x65, (byte)0x65,(byte)0x79, (byte)0x2A};
SecretKeyFactory desKeyFact =
SecretKeyFactory.getInstance("DES","BC");
DESKeySpec desKeySpec = new DESKeySpec(myKey);
SecretKey myDesKey = desKeyFact.generateSecret(desKeySpec);
byte[] myKeyAgain = (new
DESKeySpec(myDesKey.getEncoded())).getKey();
System.out.println(toHexString(myKeyAgain));
System.out.println(toHumanReadableString(myKeyAgain));
}
Wenn ichs in Eingabeaufforderung ausführe, kommt diese Fehlermeldung:
Exception in thread "main" java.lang.NoClassDefFoundError: quellcode
(wrong name: quellCode)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
wie es halt immer ist: brauche ich auch dringend hilfe...
freu mich auf eine Antwort
mfG
Ümit Yildirm
"?mit Yildirim" <Mathe...@gmx.de> schrieb:
> jetzt habe ich das Problem mit dem import zwar gelöst, aber bekomme
> beim kompilieren bzw ausführen weitere Fehlermeldungen.. und zwar:
> java.lang.ExceptionInInitializerError
> at javax.crypto.SecretKeyFactory.getInstance(DashoA6275)
> at quellCode.main(quellCode.java:39)
> Caused by: java.lang.SecurityException: Cannot set up certs for
> trusted CAs
Also dass ist kein Eclipse-Problem mehr, sondern wahrscheinlich falsche
Initialisierung des Frameworks. Da ich das nicht kenne muss ich hier passen,
allerdings vermute ich mal, dass die Doku Infos enthält, warum bzw. in
welchen Fällen die Exception geschmissen wird...
Gruß,
TS
ich habe bis jetzt fast alles versucht.. leider konnte ich das Problem
immer noch nicht lösen... Meine letzte Vermutung ist, dass es sich
irgendwie um Zertifikate handelt... aber weiss nicht mehr was ich
daran ändern soll... die local_policy.jar und US_export.policy.jar
stehen auch schon in meinem Classpath und path drinn...
Die RSA-Verschlüsselung funktioniert auch einwandfrei... ich kann ein
Text sowohl verschlüsseln als auch entschlüsseln... aber mit AES und
DES geht es überhaupt nicht... ich benutze BouncyCastle Provider...
und angeblich ist ja RSA in Sun Provider nicht implementiert... also
das heisst doch, dass mein Bouncy Castle Provider funktioniert...
Danke für deine Bemühungen... falls dir was neues einfallen sollte bin
ich auch unter Mathe...@gmx.de zu erreichen
Und wenn sonst jemand mir helfen kann.. kann gerne unter die Adresse
schreiben, hier dauert es irgendwie zu lange...
mfG
Ümit Yildirim
Ich habe das Problem gelöst... undzwar in dem ich BouncyCastleProvider
weggelassen habe, weil JCE von Sun sowohl AES als auch RSA
implementiert... man muss nur AES spezifische Sachen benutzen und dazu
bekommt man in google unter Stichworten: java AES class sehr gute
Hilfe...
In Eclipse muss man nur beim neues Java-Projekt erstellen, unter
Bibliotheken "externe JARs hinzufügen" die heruntergeladene JAR von
Bouncy Castle einbinden, damit mit Eclipse alles funktioniert.. dazu
habe ich diese JAR-Datei in mein Classpath eingegeben... Also jetzt
funktioniert sowohl BouncyCastle, als auch javax.crypto.* zeugs...
viel spass damit...
mfG
Ümit Yildirim
ich meinte vorhin natürlich nicht RSA sondern DES... sorry...
aber ich habe in Docus auch gesehen, dass irgendwie RSA auch in JCE
von Sun implementiert ist, aber bin mir da nicht so sicher... unter
Umständen braucht man schon BouncyCaslteProvider.
mfG