Class AESFormat

    • Constructor Summary

      Constructors 
      Constructor Description
      AESFormat()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected java.lang.String getCipherAlg()
      Liefert den zu verwendenden Cipher-Algorithmus.
      private javax.crypto.SecretKey getPassportKey​(char[] password, byte[] salt)
      Erzeugt den Secret-Key aus Passwort und Salt.
      private javax.crypto.SecretKey getPassportKey​(HBCIPassport passport, byte[] salt, boolean forSaving)
      Fragt den User per Callback nach dem Passwort fuer die Passport-Datei.
      PassportData load​(HBCIPassport passport, byte[] data)
      Liest die Passport-Datei.
      byte[] save​(HBCIPassport passport, PassportData data)
      Speichert die Passport-Daten-
      boolean supported()
      Testet, ob das Format auf dem System unterstuetzt wird.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • AESFormat

        public AESFormat()
    • Method Detail

      • load

        public PassportData load​(HBCIPassport passport,
                                 byte[] data)
                          throws java.lang.UnsupportedOperationException
        Description copied from interface: PassportFormat
        Liest die Passport-Datei.
        Parameters:
        passport - der Passport, fuer den die Daten gelesen werden sollen.
        data - das Byte-Array mit dem Datei-Inhalt. Wir uebergeben hier keinen Stream, damit wir mehrere Formate mit den selben Daten durchprobieren koennen, ohne jedesmal den Stream neu oeffnen zu muessen (mark/reset unterstuetzen viele InputStream-Implementierungen nicht). Und da wir die Daten zur Deserialisierung ohnehin komplett lesen muessen, koennen wir sie auch gleich in ein Byte-Array lesen.
        Returns:
        die gelesenen Daten des Passport.
        Throws:
        java.lang.UnsupportedOperationException - wenn die Implementierung dieses Dateiformat nicht unterstuetzt.
        See Also:
        PassportFormat.load(org.kapott.hbci.passport.HBCIPassport, byte[])
      • getPassportKey

        private javax.crypto.SecretKey getPassportKey​(HBCIPassport passport,
                                                      byte[] salt,
                                                      boolean forSaving)
                                               throws java.security.GeneralSecurityException
        Fragt den User per Callback nach dem Passwort fuer die Passport-Datei.
        Parameters:
        passport - der Passport.
        salt - das zu verwendende Salt.
        forSaving - true, wenn das Passwort zum Speichern erfragt werden soll.
        Returns:
        der Secret-Key.
        Throws:
        java.security.GeneralSecurityException - wenn das Passwort nicht ermittelt werden konnte.
      • getPassportKey

        private javax.crypto.SecretKey getPassportKey​(char[] password,
                                                      byte[] salt)
                                               throws java.security.GeneralSecurityException
        Erzeugt den Secret-Key aus Passwort und Salt.
        Parameters:
        password - das zu verwendende Passwort.
        salt - das zu verwendende Salt.
        Returns:
        der Secret-Key.
        Throws:
        java.security.GeneralSecurityException - wenn das Passwort nicht ermittelt werden konnte.