Class HBCIPassportAnonymous

  • All Implemented Interfaces:
    java.io.Serializable, HBCIPassport, HBCIPassportInternal

    public class HBCIPassportAnonymous
    extends AbstractHBCIPassport

    Passport-Implementation für anonyme Zugänge. Bei dieser Passport-Variante handelt es sich nicht um einen "echten" HBCI-Zugang. Statt dessen handelt es sich hierbei um einen anonymen Zugang, wie er von einigen wenigen Banken angeboten wird. Bei einem anonymen Zugang werden die Nachrichten nicht kryptographisch gesichert (also keine Signaturen und keine Verschlüsselung). Aus diesem Grund können mit diesem Zugang maximal die Geschäftsvorfälle abgewickelt werden, die keine Signatur benötigten (z.B. Gastmeldung an Bank senden).

    Beim Einrichten eines solchen Passport-Objektes werden also keine Nutzer- bzw. Kunden-Kennungen abgefragt (diese sind automatisch auf die Kennungen für den anonymen Zugang eingestellt). Außerdem findet keine Synchronisierung der Schlüssel zwischen Bank und Kunde statt, da bei dieser Zugangsform keine Schlüssel verwendet werden.

    Eine HBCI-Anwendung kann ein Anonymous-Passport genauso verwenden wie ein "normales" Passport. Alle Abweichungen, die bei der Durchführung anonymer Dialoge zu beachten sind, werden völlig transparent von HBCI4Java umgesetzt.

    Gegenwärtig können mit Anonymous-Passports noch keine anonymen Geschäftsvorfälle ausgelöst werden. Diese Passport-Variante kann also nur für einen "leeren" HBCI-Dialog verwendet werden, der aus (anonymer) Dialog-Initialisierung und (anonymem) Dialog-Ende besteht. Damit kann zumindest die Verfügbarkeit des HBCI-Servers bzw. von anonymen Zugängen überprüft werden.

    See Also:
    Serialized Form
    • Field Detail

      • CIPHER_SALT

        protected static final byte[] CIPHER_SALT
    • Constructor Detail

      • HBCIPassportAnonymous

        public HBCIPassportAnonymous​(java.lang.Object initObject)
    • Method Detail

      • getPassportTypeName

        public java.lang.String getPassportTypeName()
      • setMyPublicDigKey

        public void setMyPublicDigKey​(HBCIKey key)
      • getSigFunction

        public java.lang.String getSigFunction()
      • getProfileMethod

        public java.lang.String getProfileMethod()
      • needUserKeys

        public boolean needUserKeys()
      • getInstEncKey

        public HBCIKey getInstEncKey()
      • getMyEncKeyVersion

        public java.lang.String getMyEncKeyVersion()
      • getMySigKeyNum

        public java.lang.String getMySigKeyNum()
      • getCryptMode

        public java.lang.String getCryptMode()
      • needInstKeys

        public boolean needInstKeys()
      • getSigAlg

        public java.lang.String getSigAlg()
      • getSigMode

        public java.lang.String getSigMode()
      • encrypt

        public byte[][] encrypt​(byte[] parm1)
      • getInstSigKeyVersion

        public java.lang.String getInstSigKeyVersion()
      • setInstSigKey

        public void setInstSigKey​(HBCIKey key)
      • getCryptKeyType

        public java.lang.String getCryptKeyType()
      • getMySigKeyName

        public java.lang.String getMySigKeyName()
      • getMySigKeyVersion

        public java.lang.String getMySigKeyVersion()
      • getMyPublicEncKey

        public HBCIKey getMyPublicEncKey()
      • needUserSig

        public boolean needUserSig()
      • getMyPublicDigKey

        public HBCIKey getMyPublicDigKey()
      • setMyPrivateEncKey

        public void setMyPrivateEncKey​(HBCIKey key)
      • getProfileVersion

        public java.lang.String getProfileVersion()
      • setMyPrivateSigKey

        public void setMyPrivateSigKey​(HBCIKey key)
      • getMyPrivateSigKey

        public HBCIKey getMyPrivateSigKey()
      • getMyPublicSigKey

        public HBCIKey getMyPublicSigKey()
      • getCryptAlg

        public java.lang.String getCryptAlg()
      • setMyPublicSigKey

        public void setMyPublicSigKey​(HBCIKey key)
      • getMyEncKeyNum

        public java.lang.String getMyEncKeyNum()
      • hasMyEncKey

        public boolean hasMyEncKey()
      • hash

        public byte[] hash​(byte[] data)
      • sign

        public byte[] sign​(byte[] data)
      • getMyPrivateDigKey

        public HBCIKey getMyPrivateDigKey()
      • isSupported

        public boolean isSupported()
      • hasMySigKey

        public boolean hasMySigKey()
      • resetPassphrase

        public void resetPassphrase()
      • getMyEncKeyName

        public java.lang.String getMyEncKeyName()
      • getCryptFunction

        public java.lang.String getCryptFunction()
      • getInstSigKeyName

        public java.lang.String getInstSigKeyName()
      • setMyPrivateDigKey

        public void setMyPrivateDigKey​(HBCIKey key)
      • getMyPrivateEncKey

        public HBCIKey getMyPrivateEncKey()
      • setMyPublicEncKey

        public void setMyPublicEncKey​(HBCIKey key)
      • getInstEncKeyVersion

        public java.lang.String getInstEncKeyVersion()
      • getHashAlg

        public java.lang.String getHashAlg()
      • decrypt

        public byte[] decrypt​(byte[] parm1,
                              byte[] parm2)
      • setInstEncKey

        public void setInstEncKey​(HBCIKey key)
      • hasInstEncKey

        public boolean hasInstEncKey()
      • getInstSigKeyNum

        public java.lang.String getInstSigKeyNum()
      • getInstSigKey

        public HBCIKey getInstSigKey()
      • verify

        public boolean verify​(byte[] parm1,
                              byte[] parm2)
      • getInstEncKeyName

        public java.lang.String getInstEncKeyName()
      • getInstEncKeyNum

        public java.lang.String getInstEncKeyNum()
      • hasInstSigKey

        public boolean hasInstSigKey()
      • getSysStatus

        public java.lang.String getSysStatus()
      • getFileName

        public java.lang.String getFileName()
      • saveChanges

        public void saveChanges()
        Description copied from interface: HBCIPassport
        Speichern der Änderungen an den Passport-Daten. Diese Methode sollte eigentlich niemals manuell aus einer Anwendung heraus aufgerufen werden, sondern wird vom HBCI-Kernel benutzt. Das manuelle Aufrufen von saveChanges ist nur dann sinnvoll, wenn irgendwelche Passport-Daten manuell verändert werden (HBCIPassport.setHost(String), HBCIPassport.clearBPD() usw.) und diese Änderungen explizit gespeichert werden sollen.