Class 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.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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