Wie signiert man ein Applet?

Hallo zusammen!

Wie signiert man ein Applet.
Von VeriSign habe ich folgende Datei erhalten:

-----BEGIN CERTIFICATE-----
MIAGCSqGSIb3 …

…MQAAAAAAAAA=
-----END CERTIFICATE-----

Was mache ich nun damit?

Viele Grüße
Alexa

Hallo Alexa.

Wie signiert man ein Applet.
Von VeriSign habe ich folgende Datei erhalten:

-----BEGIN CERTIFICATE-----
MIAGCSqGSIb3 …

…MQAAAAAAAAA=
-----END CERTIFICATE-----

Was mache ich nun damit?

Pack das Applet in ein Jar-Archiv (=ZIP-File mit Java-Manifest)
und signiere diese *.jar-Datei.

Das Verisign-Zertifikat musst Du zum Signieren vorher
in deinen Schlüsselspeicher importieren.

Etwa so:

keytool -import -alias alias -file ABCCA.cer -keystore storefile

Hier steht genau, wie es geht:

http://java.sun.com/docs/books/tutorial/security/too…

Gruß,
-Andreas.

Hallo Andreas!

Das Verisign-Zertifikat musst Du zum Signieren vorher
in deinen Schlüsselspeicher importieren.

Etwa so:

keytool -import -alias alias -file
ABCCA.cer -keystore storefile

Ich erhalte folgende Fehlermeldung bei dieser Funktion:
keytool -import -alias alias -file meinzertifikat.pem -keystore mystore -storepass mypassword

keytool error: java.lang.Exception: Certificate reply does not contain public key for

Was mache ich da falsch?

Grüße
Alexa

Hallo Alexa.

Ich erhalte folgende Fehlermeldung bei dieser Funktion:
keytool -import -alias alias -file meinzertifikat.pem
-keystore mystore -storepass mypassword

keytool error: java.lang.Exception: Certificate reply does not
contain public key for

Was mache ich da falsch?

Als alias muss der gleiche Wert verwendet werden wie beim Erstellen des
Zertifikats. Der Alias ist die eindeutige, von Dir festgelegte Kennung
Deines Schlüssels im Schlüsselspeicher.

Wenn Du den Schlüssel also per

keytool -genkey **-alias duke** -keypass dukekeypasswd

erzeugt hast, musst Du

keytool -import **-alias duke** -file meinzertifikat.pem -keystore mystore -storepass storepasswd -keypass dukekeypasswd

angeben.

Siehe
http://java.sun.com/j2se/1.3/docs/tooldocs/win32/key…

Gruß,
-Andreas.

Hi Andreas,

danke für deine Antwort.

Ich habe folgende Schritte laut Support von VeriSign befolgt:

  1. Download the certificate in Standard Format and save it in a text file with the complete „-----BEGIN CERTIFICATE-----“ and „-----END CERTIFICATE-----“ lines. Do not include any characters, double spaces, line breaks, and so on.
    Note: Keep the five dashes before and after the ‚Begin‘ and ‚End‘ line statements.
  2. Import the certificate file into Internet Explorer: Tools > Internet Options > Content > Certificates > Import > Select certificate file. (The certificate is stored in your Other People certificate store.
  3. To export the certificate file from Internet Explorer, click Tools > Internet Options > Content > Certificates > Other People.
  4. Select certificate > Export, and then select Cryptographic Message Syntax Standard.
  5. Select Include all certificates in the certificate path if possible.
  6. Choose a file name and save.
    Note: If this fails, try exporting the certificate in „DER encoded binary X.509“ format.
  7. Import the exported file in your keystore

Den Import habe ich folgendermaßen gemacht:
keytool -import -alias alias -file base64.cer -keystore mykeystore -storepass mypassword

Das hat auch geklappt.

Aber beim signieren mit jarsigner erhalte ich folgenden Fehler:
jarsigner -keystore mykeystore myApplet.jar alias

„jarsigner: Certificate chain not found for: alias. alias must reference a valid KeyStore key entry containing a private key and corresponding public key certificate chain.“

Dabei habe ich alle möglichen Zertifikate die ich durch diese Anleitung (export über Internet-Explorer) hergestellt habe ausprobiert.

Was mache ich nur falsch.
Existiert denn nirgendwo im Web eine einfache „Schritt-für-Schritt-Anleitung“, statt diese „Jarsigning in 21 days“ Monster-Anleitungen?

Grüsse
Alexa

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Alexa.

Ich habe folgende Schritte laut Support von VeriSign befolgt:

  1. Download the certificate in Standard Format and save it
    in a text file with the complete „-----BEGIN CERTIFICATE-----“
    and „-----END CERTIFICATE-----“ lines
  1. Import the certificate file into Internet Explorer:
  1. To export the certificate file from Internet Explorer,

  1. Import the exported file in your keystore

beim signieren mit jarsigner erhalte ich folgenden
Fehler:
jarsigner -keystore mykeystore myApplet.jar alias

„jarsigner: Certificate chain not found for: alias. alias
must reference a valid KeyStore key entry containing a private
key and corresponding public key certificate chain.“

Was mache ich nur falsch.
Existiert denn nirgendwo im Web eine einfache
„Schritt-für-Schritt-Anleitung“, statt diese „Jarsigning in 21
days“ Monster-Anleitungen?

Hintergrundinfos anlesen zahlt sich meist sehr schnell aus,
denn wenn beim Abtippen eines einfachen „Kochrezeptes“ was
schiefläuft, musst Du ein Verständnis dafür haben, was alles
schiefgelaufen sein kann, ansonsten stocherst Du ziellos im
Nebel und verlierst viel mehr Zeit …

Die zuverlässigsten Anleitungen sind immer die von Sun
selbst, deshalb meine Verweise auf diese „Monster-Anleitungen“.

Nur nochmals, um sicherzustellen, dass Du auf dem richtigen
Pfad bist: Du hast von Versign ein "Code Signing Certificate"
gekauft (siehe http://www.verisign.com/products-services/security-s…), kein „SSL Certificate“? Mit letzterem wirst Du nämlich
nicht weit kommen.

Den Internet-Explorer solltest Du weglassen beim Erzeugen
des zu importierenden Schlüssels und die Java-Standard-Tools
nehmen, denn es gibt mehrere interne Binärformate, in denen
die Schlüssel erzeugt werden können.

Das Kochrezept würde so aussehen:

(1) Schlüssel erzeugen
keytool -genkey -keyalg rsa -alias MyCert

(2) Zertifikatsrequest für Verisign aus dem Schlüssel erzeugen
keytool -certreq -alias MyCert

Ausgabe in Verisign-Antragsformular einfügen.

(3) Unterschriebenes Zertifikat importieren
Die Datei (-----BEGIN CERT …), die Versign
zurückschickt, in Deinen Schlüsselspeicher per keytool importieren:

keytool -import -alias MyCert -file VSSStanleyNew.cer

(4) jar-Datei mit dem neuen Schlüssel unterschreiben

jarsigner TestApplet.jar MyCert

Du musst also Schritt (3) noch korrigieren und
zusätzlich anschauen, was danach wirklich in Deinem
Schlüsselspeicher steht, also „keytool -list“ aufrufen.

Siehe http://java.sun.com/j2se/1.4.2/docs/guide/plugin/dev….

Gruß,
-Andreas.