Package de.willuhn.security
Class Signature
java.lang.Object
de.willuhn.security.Signature
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
Modifier and TypeMethodDescriptionstatic final void
Main-Methode, um das Signieren und Verifzieren von der Kommandozeile aus durchfuehren zu koennen.static byte[]
sign
(InputStream data, PrivateKey key) Erzeugt eine Signatur fuer die uebergebenen Daten.static boolean
verifiy
(InputStream data, PublicKey key, byte[] signature) Prueft die Signatur fuer die uebergebenen Daten.
-
Method Details
-
sign
public static byte[] sign(InputStream data, PrivateKey key) throws GeneralSecurityException, 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:
IOException
- wenn ein Fehler beim Lesen der Daten auftrat.GeneralSecurityException
- wenn ein Fehler beim Signieren auftrat.
-
verifiy
public static boolean verifiy(InputStream data, PublicKey key, byte[] signature) throws GeneralSecurityException, 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:
IOException
- wenn ein Fehler beim Lesen der Daten auftrat.GeneralSecurityException
- wenn ein Fehler beim Verifizieren der Signatur auftrat.
-
main
Main-Methode, um das Signieren und Verifzieren von der Kommandozeile aus durchfuehren zu koennen.- Parameters:
args
-- Throws:
Exception
-