Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[NEWBI] Probleme mit Cryptix3

0 views
Skip to first unread message

Carsten Alexander

unread,
May 12, 2003, 3:58:54 PM5/12/03
to
Hallo NG,

gleich ein weiter post hinterher ;)

Ich habe mir unter www.cryptix.org das Package "Cryptix 3" heruntergeladen und
möchte es auch benutzen, weil es offensichtlich mehr kryptographische Verfahren
und Protokolle implementiert als java.security.* und weil ich mich in diesem
Thema für recht bewandert halte...

Die entpackte DL-Datei enthält das gesamte Package auch in einer Datei mit dem
Namen cryptix32.jar, von der es heisst, dass es _einfach_ mit:

%>java cryptix.provider.Install

zu installieren sei.

Ich habe diese Datei in verschiedene Verzeichnisses (bspw. "C:\Java\RTE\lib" und
"C:\Java\SDK\lib" - siehe vorherigen post - kopiert und nach "cryptix.jar"
umbenannt. Egal wo und egal ob ich -cp verwende oder nicht, bekomme ich beim
Aufruf von

%>java cryptix.provider.Install

den mir bereits wohlbekannten Fehler

| Exception in thread "main" java.lang.NoClassDefFoundError:
| cryptix/provider/Install


In der Version

%>java -jar cryptix.provider.Install

bekomme ich den äquivalenten Fehler

| Exception in thread "main" java.util.zip.ZipException: The system cannot find
| the file specified
| at java.util.zip.ZipFile.open(Native Method)
| at java.util.zip.ZipFile.<init>(Unknown Source)
| at java.util.jar.JarFile.<init>(Unknown Source)
| at java.util.jar.JarFile.<init>(Unknown Source)


Ich habe das JAR-File mit WinRAR geöffnet und geprüft (Groß- und Kleinschreibung
usw.). Ich habe "Install.class" extrahiert und beim Aufruf von

%>java Install

bekomme ich Fehlermeldung

| Exception in thread "main" java.lang.NoClassDefFoundError: Install (wrong
| name: cryptix/provider/Install)
| 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)


Schliesslich bin ich einem Tipp eines Freundes gefolgt. Ich habe die JAR-Datei
in das Verzeichnis kopiert, in dem ich meine Klassen ablege. Der JAVA-Compiler
soll sich die Klassen aus dem Package "schnappen", die ich benutze. Ich habe
eine Testklasse, welche cryptix.provider.mac.HMAC_SHA1 importiert:

| import cryptix.provider.mac.HMAC_SHA1;
|
| public class CSHA
| {
| public static void main(String[] args)
| {
| HMAC_SHA1 oMAC;
| }
| }

Auch wenn ich den JAVA-Compiler in dem Verzeichnis starte, in dem sich die Datei
CSHA.java befindet bekomme ich die Fehlermeldung

%>javac csha.java

| csha.java:1: package cryptix.provider.mac does not exist
| import cryptix.provider.mac.HMAC_SHA1;
| ^
| csha.java:8: cannot resolve symbol
| symbol : class HMAC_SHA1
| location: class CSHA
| HMAC_SHA1 oMAC;
| ^
| 2 errors

Übrigens: Mit dem Aufruf

%>extcheck -verbose cryptix.jar

bekomme ich die Ausgabe:

| Target file:cryptix.jar
| The target file does not have a specification title


Ich bin ein etwas ratlos und hoffe auch eure Hilfe..

--
Grüße,
Carsten


Jochen Theodorou

unread,
May 12, 2003, 4:36:22 PM5/12/03
to
Carsten Alexander schrieb:

> Hallo NG,
>
> gleich ein weiter post hinterher ;)
>
> Ich habe mir unter www.cryptix.org das Package "Cryptix 3" heruntergeladen und
> möchte es auch benutzen, weil es offensichtlich mehr kryptographische Verfahren
> und Protokolle implementiert als java.security.* und weil ich mich in diesem
> Thema für recht bewandert halte...
>
> Die entpackte DL-Datei enthält das gesamte Package auch in einer Datei mit dem
> Namen cryptix32.jar, von der es heisst, dass es _einfach_ mit:
>
> %>java cryptix.provider.Install
>
> zu installieren sei.

stimmt nicht ganz...
von der Website:

Installation

1. Add the JARs to your classpath.
2. Install the Cryptix provider by running this:

java cryptix.provider.Install

For more complete instructions, check out the documentation in the
distribution.

> Ich habe diese Datei in verschiedene Verzeichnisses (bspw. "C:\Java\RTE\lib" und
> "C:\Java\SDK\lib" - siehe vorherigen post - kopiert und nach "cryptix.jar"
> umbenannt. Egal wo und egal ob ich -cp verwende oder nicht, bekomme ich beim
> Aufruf von
>
> %>java cryptix.provider.Install
>
> den mir bereits wohlbekannten Fehler
>
> | Exception in thread "main" java.lang.NoClassDefFoundError:
> | cryptix/provider/Install

in dem Zip ist eine Jar-Datei, diese musst du entpacken, und dann

java -cp Cryptix32.jar cryptix.provider.Install


> In der Version
>
> %>java -jar cryptix.provider.Install
>
> bekomme ich den äquivalenten Fehler
>
> | Exception in thread "main" java.util.zip.ZipException: The system cannot find
> | the file specified
> | at java.util.zip.ZipFile.open(Native Method)
> | at java.util.zip.ZipFile.<init>(Unknown Source)
> | at java.util.jar.JarFile.<init>(Unknown Source)
> | at java.util.jar.JarFile.<init>(Unknown Source)

Dei fehler sind nicht ganz äquivalent. Du hast versucht eine Jar-datei
namens cryptix.provider.Install auszuführen. Es wurde also ganz simpel
die Datei nicht gefunden. Welche Klasse letzlich benutzt wird um das Jar
auszuführen steht in der Manifest-Datei, die aber im Cryptix-Jar fehlt,
da es eher als Bibliothek, denn als Anwendung gedacht ist.

> Ich habe das JAR-File mit WinRAR geöffnet und geprüft (Groß- und Kleinschreibung
> usw.). Ich habe "Install.class" extrahiert und beim Aufruf von
>
> %>java Install
>
> bekomme ich Fehlermeldung
>
> | Exception in thread "main" java.lang.NoClassDefFoundError: Install (wrong
> | name: cryptix/provider/Install)

[...]

logisch, denn die Klasse Install gehört zu dem Package cryptix.provider.
Wenn schon auf die Art, dann hättest du die Datei mitsamt
Verzeichnisargumente entpacken sollen und dann java
cryptix.provider.Install ausführen sollen. Dann hätte er zwar die Klasse
Install an der richtigen stelle gefunden, aber leider keine weiteren
Klassen, die ja noch im JAR stecken.

> Schliesslich bin ich einem Tipp eines Freundes gefolgt. Ich habe die JAR-Datei
> in das Verzeichnis kopiert, in dem ich meine Klassen ablege. Der JAVA-Compiler
> soll sich die Klassen aus dem Package "schnappen", die ich benutze. Ich habe
> eine Testklasse, welche cryptix.provider.mac.HMAC_SHA1 importiert:
>
> | import cryptix.provider.mac.HMAC_SHA1;
> |
> | public class CSHA
> | {
> | public static void main(String[] args)
> | {
> | HMAC_SHA1 oMAC;
> | }
> | }
>
> Auch wenn ich den JAVA-Compiler in dem Verzeichnis starte, in dem sich die Datei
> CSHA.java befindet bekomme ich die Fehlermeldung
>
> %>javac csha.java
>
> | csha.java:1: package cryptix.provider.mac does not exist
> | import cryptix.provider.mac.HMAC_SHA1;
> | ^
> | csha.java:8: cannot resolve symbol
> | symbol : class HMAC_SHA1
> | location: class CSHA
> | HMAC_SHA1 oMAC;
> | ^
> | 2 errors

existiert denn eine Unterveizeichnisstruktur cryptix/provider/mac und in
diesem Unterverzeichnis eine Klasse HMAC_SHA1.class? Wenn du das JAr
komplett entpackt hast sollte das eigentlich. Wenn du nur das zip
entpackt hast, dann ist da noch ein src davor, also alles hochkopieren.
In dem Verzeichnis cryptix/provider/mac/ ist dann eine eine Java-Datei
namens HMAC_SHA1.java, die automatisch von javac kompiliert wird, wenn
du deine CSHA.java kompilierst.

[...]
Gruss theo

0 new messages