Package de.willuhn.security
Class Signature
- java.lang.Object
-
- de.willuhn.security.Signature
-
public class Signature extends java.lang.Object
Hilfsklasse mit statischen Methoden zur Erzeugung und Verifizierung von Signaturen. Die Signaturen basieren auf SHA1-Checksummen der Daten und werden mittels Public-/Privatekey geschuetzt. Alternativ kann man die Signaturen auch mit den folgenden beiden OpenSSL-Befehlen erstellen/verifizieren. Die von dieser Java-Klasse erzeugten Signaturen sind kompatibel zu denen von OpenSSL.openssl dgst -sha1 -sign ${privatekey-file} -out ${signature-file} < {file} openssl dgst -sha1 -verify ${publickey-file} -signature ${signature-file} {file}
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
main(java.lang.String[] args)
Main-Methode, um das Signieren und Verifzieren von der Kommandozeile aus durchfuehren zu koennen.static byte[]
sign(java.io.InputStream data, java.security.PrivateKey key)
Erzeugt eine Signatur fuer die uebergebenen Daten.static boolean
verifiy(java.io.InputStream data, java.security.PublicKey key, byte[] signature)
Prueft die Signatur fuer die uebergebenen Daten.
-
-
-
Method Detail
-
sign
public static byte[] sign(java.io.InputStream data, java.security.PrivateKey key) throws java.security.GeneralSecurityException, java.io.IOException
Erzeugt eine Signatur fuer die uebergebenen Daten. Die Signatur wird mit dem Algorithmus "SHA1withRSA" erstellt.- Parameters:
data
- die zu signierenden Daten.key
- der Private-Key zum Signieren.- Returns:
- die Signatur.
- Throws:
java.io.IOException
- wenn ein Fehler beim Lesen der Daten auftrat.java.security.GeneralSecurityException
- wenn ein Fehler beim Signieren auftrat.
-
verifiy
public static boolean verifiy(java.io.InputStream data, java.security.PublicKey key, byte[] signature) throws java.security.GeneralSecurityException, java.io.IOException
Prueft die Signatur fuer die uebergebenen Daten. Die Signatur wird mit dem Algorithmus "SHA1withRSA" geprueft.- Parameters:
data
- die zu signierenden Daten.key
- der Public-Key zum Pruefen.signature
- die Signatur.- Returns:
- true, wenn die Signatur ok ist.
- Throws:
java.io.IOException
- wenn ein Fehler beim Lesen der Daten auftrat.java.security.GeneralSecurityException
- wenn ein Fehler beim Verifizieren der Signatur auftrat.
-
main
public static final void main(java.lang.String[] args) throws java.lang.Exception
Main-Methode, um das Signieren und Verifzieren von der Kommandozeile aus durchfuehren zu koennen.- Parameters:
args
-- Throws:
java.lang.Exception
-
-