Tax Filing Service

<back to all web services

HoleClientSideZertifikatEigenschaften

SyncHoleZertifikat

A synchronous service to get the properties of specified client-side certificate.

Requires Authentication
The following routes are available for this service:
POST/HoleClientSideZertifikatEigenschaftenA synchronous service to get the properties of specified client-side certificate.
import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

/**
* Represents a base class for a file with raw data.
*/
// @Api(Description="Represents a base class for a file with raw data.")
abstract class FileBase
{
    /**
    * The raw data content of the file in bytes.
    */
    // @ApiMember(Description="The raw data content of the file in bytes.", Name="Content")
    Uint8List? content;

    FileBase({this.content});
    FileBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        content = JsonConverters.fromJson(json['content'],'Uint8List',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'content': JsonConverters.toJson(content,'Uint8List',context!)
    };

    getTypeName() => "FileBase";
    TypeContext? context = _ctx;
}

/**
* Represents information about a file or directory.
*/
// @Api(Description="Represents information about a file or directory.")
class FileMetadata implements IFileMetadata, IConvertible
{
    /**
    * The name of the file.For files, gets the name of the file.For directories, gets the name of the last directory in the hierarchy if a hierarchy exists; otherwise, the name of the directory.
    */
    // @ApiMember(Description="The name of the file.\nFor files, gets the name of the file.\nFor directories, gets the name of the last directory in the hierarchy if a hierarchy exists; otherwise, the name of the directory.")
    String? name;

    /**
    * The full path of the directory or file.
    */
    // @ApiMember(Description="The full path of the directory or file.")
    String? fullName;

    /**
    * The time the current file or directory was last accessed.
    */
    // @ApiMember(Description="The time the current file or directory was last accessed.")
    DateTime? lastAccessTime;

    /**
    * The name of the file.
    */
    // @ApiMember(Description="The name of the file.")
    DateTime? lastAccessTimeUtc;

    /**
    * The time when the current file or directory was last written to.
    */
    // @ApiMember(Description="The time when the current file or directory was last written to.")
    DateTime? lastWriteTime;

    /**
    * The time, in coordinated universal time (UTC), when the current file or directory was last written to.
    */
    // @ApiMember(Description="The time, in coordinated universal time (UTC), when the current file or directory was last written to.")
    DateTime? lastWriteTimeUtc;

    /**
    * The size, in bytes, of the current file.
    */
    // @ApiMember(Description="The size, in bytes, of the current file.")
    int? length;

    /**
    * The size, in bytes, of the current file.
    */
    // @ApiMember(Description="The size, in bytes, of the current file.")
    int? userId;

    /**
    * The file group id.
    */
    // @ApiMember(Description="The file group id.")
    int? groupId;

    /**
    * A value that indicates whether the others can read from this file.
    */
    // @ApiMember(Description="A value that indicates whether the others can read from this file.")
    bool? othersCanRead;

    /**
    * A value that indicates whether the group members can execute this file.
    */
    // @ApiMember(Description="A value that indicates whether the group members can execute this file.")
    bool? groupCanExecute;

    /**
    * A value that indicates whether the group members can write into this file.
    */
    // @ApiMember(Description="A value that indicates whether the group members can write into this file.")
    bool? groupCanWrite;

    /**
    * A value that indicates whether the group members can read from this file.
    */
    // @ApiMember(Description="A value that indicates whether the group members can read from this file.")
    bool? groupCanRead;

    /**
    * A value that indicates whether the owner can execute this file.
    */
    // @ApiMember(Description="A value that indicates whether the owner can execute this file.")
    bool? ownerCanExecute;

    /**
    * A value that indicates whether the owner can write into this file.
    */
    // @ApiMember(Description="A value that indicates whether the owner can write into this file.")
    bool? ownerCanWrite;

    /**
    * A value that indicates whether the owner can read from this file.
    */
    // @ApiMember(Description="A value that indicates whether the owner can read from this file.")
    bool? ownerCanRead;

    /**
    * A value that indicates whether others can read from this file.
    */
    // @ApiMember(Description="A value that indicates whether others can read from this file.")
    bool? othersCanExecute;

    /**
    * A value that indicates whether others can write into this file.
    */
    // @ApiMember(Description="A value that indicates whether others can write into this file.")
    bool? othersCanWrite;

    /**
    * Extensions to the file attributes.
    */
    // @ApiMember(Description="Extensions to the file attributes.")
    Map<String,String?>? extensions = {};

    FileMetadata({this.name,this.fullName,this.lastAccessTime,this.lastAccessTimeUtc,this.lastWriteTime,this.lastWriteTimeUtc,this.length,this.userId,this.groupId,this.othersCanRead,this.groupCanExecute,this.groupCanWrite,this.groupCanRead,this.ownerCanExecute,this.ownerCanWrite,this.ownerCanRead,this.othersCanExecute,this.othersCanWrite,this.extensions});
    FileMetadata.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        fullName = json['fullName'];
        lastAccessTime = JsonConverters.fromJson(json['lastAccessTime'],'DateTime',context!);
        lastAccessTimeUtc = JsonConverters.fromJson(json['lastAccessTimeUtc'],'DateTime',context!);
        lastWriteTime = JsonConverters.fromJson(json['lastWriteTime'],'DateTime',context!);
        lastWriteTimeUtc = JsonConverters.fromJson(json['lastWriteTimeUtc'],'DateTime',context!);
        length = json['length'];
        userId = json['userId'];
        groupId = json['groupId'];
        othersCanRead = json['othersCanRead'];
        groupCanExecute = json['groupCanExecute'];
        groupCanWrite = json['groupCanWrite'];
        groupCanRead = json['groupCanRead'];
        ownerCanExecute = json['ownerCanExecute'];
        ownerCanWrite = json['ownerCanWrite'];
        ownerCanRead = json['ownerCanRead'];
        othersCanExecute = json['othersCanExecute'];
        othersCanWrite = json['othersCanWrite'];
        extensions = JsonConverters.toStringMap(json['extensions']);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name,
        'fullName': fullName,
        'lastAccessTime': JsonConverters.toJson(lastAccessTime,'DateTime',context!),
        'lastAccessTimeUtc': JsonConverters.toJson(lastAccessTimeUtc,'DateTime',context!),
        'lastWriteTime': JsonConverters.toJson(lastWriteTime,'DateTime',context!),
        'lastWriteTimeUtc': JsonConverters.toJson(lastWriteTimeUtc,'DateTime',context!),
        'length': length,
        'userId': userId,
        'groupId': groupId,
        'othersCanRead': othersCanRead,
        'groupCanExecute': groupCanExecute,
        'groupCanWrite': groupCanWrite,
        'groupCanRead': groupCanRead,
        'ownerCanExecute': ownerCanExecute,
        'ownerCanWrite': ownerCanWrite,
        'ownerCanRead': ownerCanRead,
        'othersCanExecute': othersCanExecute,
        'othersCanWrite': othersCanWrite,
        'extensions': extensions
    };

    getTypeName() => "FileMetadata";
    TypeContext? context = _ctx;
}

/**
* Represents a generic file that contains raw data content in bytes
*/
// @Api(Description="Represents a generic file that contains raw data content in bytes")
class BinaryFile extends FileBase implements IConvertible
{
    /**
    * The attributes of the file.
    */
    // @ApiMember(Description="The attributes of the file.")
    FileMetadata? metadata;

    /**
    * The name of the file without information on its directory path.
    */
    // @ApiMember(Description="The name of the file without information on its directory path.")
    String? name;

    BinaryFile({this.metadata,this.name});
    BinaryFile.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        metadata = JsonConverters.fromJson(json['metadata'],'FileMetadata',context!);
        name = json['name'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'metadata': JsonConverters.toJson(metadata,'FileMetadata',context!),
        'name': name
    });

    getTypeName() => "BinaryFile";
    TypeContext? context = _ctx;
}

/**
* Represents a client-side generated certificate that is protected by a password.
*/
// @Api(Description="Represents a client-side generated certificate that is protected by a password.")
class ClientSideCertificate implements ISecuredCertificate, IConvertible
{
    /**
    * The friendly name of the certificate.
    */
    // @ApiMember(Description="The friendly name of the certificate.", IsRequired=true)
    String? name;

    /**
    * The password to protect the certificate from unauthorized access.
    */
    // @StringLength(255)
    // @ApiMember(Description="The password to protect the certificate from unauthorized access.", IsRequired=true)
    String? pin;

    /**
    * The file that contains the private key. Access is protected by the PIN.
    */
    // @ApiMember(Description="The file that contains the private key. Access is protected by the PIN.", IsRequired=true)
    BinaryFile? privateKeyFile;

    /**
    * The file that contains the certificate data and public key.
    */
    // @ApiMember(Description="The file that contains the certificate data and public key.", IsRequired=true)
    BinaryFile? publicKeyFile;

    /**
    * Contains the checksum of the files PublicKeyFile and PrivateKeyFile.
    */
    // @ApiMember(Description="Contains the checksum of the files PublicKeyFile and PrivateKeyFile.", IsRequired=true)
    BinaryFile? checksumFile;

    /**
    * The description for the certificate.
    */
    // @StringLength(2147483647)
    // @ApiMember(Description="The description for the certificate.")
    String? description;

    /**
    * The tags that can be used to label or identify the certificate.
    */
    // @ApiMember(Description="The tags that can be used to label or identify the certificate.")
    List<String>? tags = [];

    ClientSideCertificate({this.name,this.pin,this.privateKeyFile,this.publicKeyFile,this.checksumFile,this.description,this.tags});
    ClientSideCertificate.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        pin = json['pin'];
        privateKeyFile = JsonConverters.fromJson(json['privateKeyFile'],'BinaryFile',context!);
        publicKeyFile = JsonConverters.fromJson(json['publicKeyFile'],'BinaryFile',context!);
        checksumFile = JsonConverters.fromJson(json['checksumFile'],'BinaryFile',context!);
        description = json['description'];
        tags = JsonConverters.fromJson(json['tags'],'List<String>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name,
        'pin': pin,
        'privateKeyFile': JsonConverters.toJson(privateKeyFile,'BinaryFile',context!),
        'publicKeyFile': JsonConverters.toJson(publicKeyFile,'BinaryFile',context!),
        'checksumFile': JsonConverters.toJson(checksumFile,'BinaryFile',context!),
        'description': description,
        'tags': JsonConverters.toJson(tags,'List<String>',context!)
    };

    getTypeName() => "ClientSideCertificate";
    TypeContext? context = _ctx;
}

/**
* A base service to get the properties of a specified client-side certificate.
*/
// @Api(Description="A base service to get the properties of a specified client-side certificate.")
abstract class HoleClientSideZertifikatEigenschaftenBase implements IPost
{
    /**
    * The client-side certificate. Access is protected by a PIN.
    */
    // @ApiMember(Description="The client-side certificate. Access is protected by a PIN.", Name="Zertifikat")
    ClientSideCertificate? zertifikat;

    HoleClientSideZertifikatEigenschaftenBase({this.zertifikat});
    HoleClientSideZertifikatEigenschaftenBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        zertifikat = JsonConverters.fromJson(json['zertifikat'],'ClientSideCertificate',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'zertifikat': JsonConverters.toJson(zertifikat,'ClientSideCertificate',context!)
    };

    getTypeName() => "HoleClientSideZertifikatEigenschaftenBase";
    TypeContext? context = _ctx;
}

/**
* Specifies a service response from an ERiC service operation.
*/
// @Api(Description="Specifies a service response from an ERiC service operation.")
abstract class ServiceReponseBase implements IHasIndex
{
    /**
    * The unique identifier of the response.
    */
    // @ApiMember(Description="The unique identifier of the response.")
    String? id;

    /**
    * The position of the response element in an indexed collection.
    */
    // @ApiMember(Description="The position of the response element in an indexed collection.")
    int? index;

    /**
    * Metadata that contains structured error information on the service response.
    */
    // @ApiMember(Description="Metadata that contains structured error information on the service response.")
    ResponseStatus? responseStatus;

    ServiceReponseBase({this.id,this.index,this.responseStatus});
    ServiceReponseBase.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        id = json['id'];
        index = json['index'];
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'id': id,
        'index': index,
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

    getTypeName() => "ServiceReponseBase";
    TypeContext? context = _ctx;
}

/**
* Enumeration of ERiC API error codes.
*/
enum EricFehlerCode
{
    ERIC_OK,
    ERIC_GLOBAL_UNKNOWN,
    ERIC_GLOBAL_PRUEF_FEHLER,
    ERIC_GLOBAL_HINWEISE,
    ERIC_GLOBAL_FEHLERMELDUNG_NICHT_VORHANDEN,
    ERIC_GLOBAL_KEINE_DATEN_VORHANDEN,
    ERIC_GLOBAL_NICHT_GENUEGEND_ARBEITSSPEICHER,
    ERIC_GLOBAL_DATEI_NICHT_GEFUNDEN,
    ERIC_GLOBAL_HERSTELLER_ID_NICHT_ERLAUBT,
    ERIC_GLOBAL_ILLEGAL_STATE,
    ERIC_GLOBAL_FUNKTION_NICHT_ERLAUBT,
    ERIC_GLOBAL_ECHTFALL_NICHT_ERLAUBT,
    ERIC_GLOBAL_NO_VERSAND_IN_BETA_VERSION,
    ERIC_GLOBAL_TESTMERKER_UNGUELTIG,
    ERIC_GLOBAL_DATENSATZ_ZU_GROSS,
    ERIC_GLOBAL_VERSCHLUESSELUNGS_PARAMETER_NICHT_ERLAUBT,
    ERIC_GLOBAL_NUR_PORTALZERTIFIKAT_ERLAUBT,
    ERIC_GLOBAL_ERROR_XML_CREATE,
    ERIC_GLOBAL_TEXTPUFFERGROESSE_FIX,
    ERIC_GLOBAL_INTERNER_FEHLER,
    ERIC_GLOBAL_ARITHMETIKFEHLER,
    ERIC_GLOBAL_STEUERNUMMER_UNGUELTIG,
    ERIC_GLOBAL_STEUERNUMMER_FALSCHE_LAENGE,
    ERIC_GLOBAL_STEUERNUMMER_NICHT_NUMERISCH,
    ERIC_GLOBAL_LANDESNUMMER_UNBEKANNT,
    ERIC_GLOBAL_BUFANR_UNBEKANNT,
    ERIC_GLOBAL_LANDESNUMMER_BUFANR,
    ERIC_GLOBAL_PUFFER_ZUGRIFFSKONFLIKT,
    ERIC_GLOBAL_PUFFER_UEBERLAUF,
    ERIC_GLOBAL_DATENARTVERSION_UNBEKANNT,
    ERIC_GLOBAL_DATENARTVERSION_XML_INKONSISTENT,
    ERIC_GLOBAL_COMMONDATA_NICHT_VERFUEGBAR,
    ERIC_GLOBAL_LOG_EXCEPTION,
    ERIC_GLOBAL_TRANSPORTSCHLUESSEL_NICHT_ERLAUBT,
    ERIC_GLOBAL_OEFFENTLICHER_SCHLUESSEL_UNGUELTIG,
    ERIC_GLOBAL_TRANSPORTSCHLUESSEL_TYP_FALSCH,
    ERIC_GLOBAL_PUFFER_UNGLEICHER_INSTANZ,
    ERIC_GLOBAL_VORSATZ_UNGUELTIG,
    ERIC_GLOBAL_DATEIZUGRIFF_VERWEIGERT,
    ERIC_GLOBAL_UNGUELTIGE_INSTANZ,
    ERIC_GLOBAL_NICHT_INITIALISIERT,
    ERIC_GLOBAL_MEHRFACHE_INITIALISIERUNG,
    ERIC_GLOBAL_FEHLER_INITIALISIERUNG,
    ERIC_GLOBAL_UNKNOWN_PARAMETER_ERROR,
    ERIC_GLOBAL_CHECK_CORRUPTED_NDS,
    ERIC_GLOBAL_VERSCHLUESSELUNGS_PARAMETER_NICHT_ANGEGEBEN,
    ERIC_GLOBAL_SEND_FLAG_MEHR_ALS_EINES,
    ERIC_GLOBAL_UNGUELTIGE_FLAG_KOMBINATION,
    ERIC_GLOBAL_UNGUELTIGER_PARAMETER,
    ERIC_GLOBAL_DRUCK_FUER_VERFAHREN_NICHT_ERLAUBT,
    ERIC_GLOBAL_VERSAND_ART_NICHT_UNTERSTUETZT,
    ERIC_GLOBAL_UNGUELTIGE_PARAMETER_VERSION,
    ERIC_GLOBAL_TRANSFERHANDLE,
    ERIC_GLOBAL_PLUGININITIALISIERUNG,
    ERIC_GLOBAL_INKOMPATIBLE_VERSIONEN,
    ERIC_GLOBAL_VERSCHLUESSELUNGSVERFAHREN_NICHT_UNTERSTUETZT,
    ERIC_GLOBAL_MEHRFACHAUFRUFE_NICHT_UNTERSTUETZT,
    ERIC_GLOBAL_UTI_COUNTRY_NOT_SUPPORTED,
    ERIC_GLOBAL_IBAN_FORMALER_FEHLER,
    ERIC_GLOBAL_IBAN_LAENDERCODE_FEHLER,
    ERIC_GLOBAL_IBAN_LANDESFORMAT_FEHLER,
    ERIC_GLOBAL_IBAN_PRUEFZIFFER_FEHLER,
    ERIC_GLOBAL_BIC_FORMALER_FEHLER,
    ERIC_GLOBAL_BIC_LAENDERCODE_FEHLER,
    ERIC_GLOBAL_ZULASSUNGSNUMMER_ZU_LANG,
    ERIC_GLOBAL_IDNUMMER_UNGUELTIG,
    ERIC_GLOBAL_NULL_PARAMETER,
    ERIC_GLOBAL_EWAZ_UNGUELTIG,
    ERIC_GLOBAL_EWAZ_LANDESKUERZEL_UNBEKANNT,
    ERIC_GLOBAL_UPDATE_NECESSARY,
    ERIC_GLOBAL_EINSTELLUNG_NAME_UNGUELTIG,
    ERIC_GLOBAL_EINSTELLUNG_WERT_UNGUELTIG,
    ERIC_GLOBAL_ERR_DEKODIEREN,
    ERIC_GLOBAL_FUNKTION_NICHT_UNTERSTUETZT,
    ERIC_GLOBAL_NUTZDATENTICKETS_NICHT_EINDEUTIG,
    ERIC_GLOBAL_NUTZDATENHEADERVERSIONEN_UNEINHEITLICH,
    ERIC_GLOBAL_BUNDESLAENDER_UNEINHEITLICH,
    ERIC_GLOBAL_ZEITRAEUME_UNEINHEITLICH,
    ERIC_GLOBAL_NUTZDATENHEADER_EMPFAENGER_NICHT_KORREKT,
    ERIC_TRANSFER_COM_ERROR,
    ERIC_TRANSFER_VORGANG_NICHT_UNTERSTUETZT,
    ERIC_TRANSFER_ERR_XML_THEADER,
    ERIC_TRANSFER_ERR_PARAM,
    ERIC_TRANSFER_ERR_DATENTEILENDNOTFOUND,
    ERIC_TRANSFER_ERR_BEGINDATENLIEFERANT,
    ERIC_TRANSFER_ERR_ENDDATENLIEFERANT,
    ERIC_TRANSFER_ERR_BEGINTRANSPORTSCHLUESSEL,
    ERIC_TRANSFER_ERR_ENDTRANSPORTSCHLUESSEL,
    ERIC_TRANSFER_ERR_BEGINDATENGROESSE,
    ERIC_TRANSFER_ERR_ENDDATENGROESSE,
    ERIC_TRANSFER_ERR_SEND,
    ERIC_TRANSFER_ERR_NOTENCRYPTED,
    ERIC_TRANSFER_ERR_PROXYCONNECT,
    ERIC_TRANSFER_ERR_CONNECTSERVER,
    ERIC_TRANSFER_ERR_NORESPONSE,
    ERIC_TRANSFER_ERR_PROXYAUTH,
    ERIC_TRANSFER_ERR_SEND_INIT,
    ERIC_TRANSFER_ERR_TIMEOUT,
    ERIC_TRANSFER_ERR_PROXYPORT_INVALID,
    ERIC_TRANSFER_ERR_OTHER,
    ERIC_TRANSFER_ERR_XML_NHEADER,
    ERIC_TRANSFER_ERR_XML_ENCODING,
    ERIC_TRANSFER_ERR_ENDSIGUSER,
    ERIC_TRANSFER_ERR_XMLTAG_NICHT_GEFUNDEN,
    ERIC_TRANSFER_ERR_DATENTEILFEHLER,
    ERIC_TRANSFER_EID_ZERTIFIKATFEHLER,
    ERIC_TRANSFER_EID_KEINKONTO,
    ERIC_TRANSFER_EID_IDNRNICHTEINDEUTIG,
    ERIC_TRANSFER_EID_SERVERFEHLER,
    ERIC_TRANSFER_EID_KEINCLIENT,
    ERIC_TRANSFER_EID_CLIENTFEHLER,
    ERIC_TRANSFER_EID_FEHLENDEFELDER,
    ERIC_TRANSFER_EID_IDENTIFIKATIONABGEBROCHEN,
    ERIC_TRANSFER_EID_NPABLOCKIERT,
    ERIC_CRYPT_ERROR_CREATE_KEY,
    ERIC_CRYPT_E_INVALID_HANDLE,
    ERIC_CRYPT_E_MAX_SESSION,
    ERIC_CRYPT_E_BUSY,
    ERIC_CRYPT_E_OUT_OF_MEM,
    ERIC_CRYPT_E_PSE_PATH,
    ERIC_CRYPT_E_PIN_WRONG,
    ERIC_CRYPT_E_PIN_LOCKED,
    ERIC_CRYPT_E_P7_READ,
    ERIC_CRYPT_E_P7_DECODE,
    ERIC_CRYPT_E_P7_RECIPIENT,
    ERIC_CRYPT_E_P12_READ,
    ERIC_CRYPT_E_P12_DECODE,
    ERIC_CRYPT_E_P12_SIG_KEY,
    ERIC_CRYPT_E_P12_ENC_KEY,
    ERIC_CRYPT_E_P11_SIG_KEY,
    ERIC_CRYPT_E_P11_ENC_KEY,
    ERIC_CRYPT_E_XML_PARSE,
    ERIC_CRYPT_E_XML_SIG_ADD,
    ERIC_CRYPT_E_XML_SIG_TAG,
    ERIC_CRYPT_E_XML_SIG_SIGN,
    ERIC_CRYPT_E_ENCODE_UNKNOWN,
    ERIC_CRYPT_E_ENCODE_ERROR,
    ERIC_CRYPT_E_XML_INIT,
    ERIC_CRYPT_E_ENCRYPT,
    ERIC_CRYPT_E_DECRYPT,
    ERIC_CRYPT_E_P11_SLOT_EMPTY,
    ERIC_CRYPT_E_NO_SIG_ENC_KEY,
    ERIC_CRYPT_E_LOAD_DLL,
    ERIC_CRYPT_E_NO_SERVICE,
    ERIC_CRYPT_E_ESICL_EXCEPTION,
    ERIC_CRYPT_E_ESIGNER_NICHT_GELADEN,
    ERIC_CRYPT_E_INKOMPATIBLE_ESIGNER_VERSION,
    ERIC_CRYPT_E_VERALTETE_ESIGNER_VERSION,
    ERIC_CRYPT_E_TOKEN_TYPE_MISMATCH,
    ERIC_CRYPT_E_P12_CREATE,
    ERIC_CRYPT_E_VERIFY_CERT_CHAIN,
    ERIC_CRYPT_E_P11_ENGINE_LOADED,
    ERIC_CRYPT_E_USER_CANCEL,
    ERIC_CRYPT_ZERTIFIKAT,
    ERIC_CRYPT_SIGNATUR,
    ERIC_CRYPT_NICHT_UNTERSTUETZTES_PSE_FORMAT,
    ERIC_CRYPT_PIN_BENOETIGT,
    ERIC_CRYPT_PIN_STAERKE_NICHT_AUSREICHEND,
    ERIC_CRYPT_E_INTERN,
    ERIC_CRYPT_ZERTIFIKATSPFAD_KEIN_VERZEICHNIS,
    ERIC_CRYPT_ZERTIFIKATSDATEI_EXISTIERT_BEREITS,
    ERIC_CRYPT_PIN_ENTHAELT_UNGUELTIGE_ZEICHEN,
    ERIC_CRYPT_CORRUPTED,
    ERIC_CRYPT_EIDKARTE_NICHT_UNTERSTUETZT,
    ERIC_CRYPT_E_SC_SLOT_EMPTY,
    ERIC_CRYPT_E_SC_NO_APPLET,
    ERIC_CRYPT_E_SC_SESSION,
    ERIC_CRYPT_E_P11_NO_SIG_CERT,
    ERIC_CRYPT_E_P11_INIT_FAILED,
    ERIC_CRYPT_E_P11_NO_ENC_CERT,
    ERIC_CRYPT_E_P12_NO_SIG_CERT,
    ERIC_CRYPT_E_P12_NO_ENC_CERT,
    ERIC_CRYPT_E_SC_ENC_KEY,
    ERIC_CRYPT_E_SC_NO_SIG_CERT,
    ERIC_CRYPT_E_SC_NO_ENC_CERT,
    ERIC_CRYPT_E_SC_INIT_FAILED,
    ERIC_CRYPT_E_SC_SIG_KEY,
    ERIC_CRYPT_E_DATA_NOT_INITIALIZED,
    ERIC_CRYPT_E_ASN1_READ_BUFFER_TOO_SMALL,
    ERIC_CRYPT_E_ASN1_READ_DATA_INCOMPLETE,
    ERIC_CRYPT_E_ASN1_NO_ENVELOPED_DATA,
    ERIC_CRYPT_E_ASN1_NO_CONTENT_DATA,
    ERIC_IO_FEHLER,
    ERIC_IO_DATEI_INKORREKT,
    ERIC_IO_PARSE_FEHLER,
    ERIC_IO_NDS_GENERIERUNG_FEHLGESCHLAGEN,
    ERIC_IO_MASTERDATENSERVICE_NICHT_VERFUEGBAR,
    ERIC_IO_STEUERZEICHEN_IM_NDS,
    ERIC_IO_VERSIONSINFORMATIONEN_NICHT_GEFUNDEN,
    ERIC_IO_FALSCHES_VERFAHREN,
    ERIC_IO_READER_MEHRFACHE_STEUERFAELLE,
    ERIC_IO_READER_UNERWARTETE_ELEMENTE,
    ERIC_IO_READER_FORMALE_FEHLER,
    ERIC_IO_READER_FALSCHES_ENCODING,
    ERIC_IO_READER_MEHRFACHE_NUTZDATEN_ELEMENTE,
    ERIC_IO_READER_MEHRFACHE_NUTZDATENBLOCK_ELEMENTE,
    ERIC_IO_UNBEKANNTE_DATENART,
    ERIC_IO_READER_UNTERSACHBEREICH_UNGUELTIG,
    ERIC_IO_READER_ZU_VIELE_NUTZDATENBLOCK_ELEMENTE,
    ERIC_IO_READER_STEUERZEICHEN_IM_TRANSFERHEADER,
    ERIC_IO_READER_STEUERZEICHEN_IM_NUTZDATENHEADER,
    ERIC_IO_READER_STEUERZEICHEN_IN_DEN_NUTZDATEN,
    ERIC_IO_READER_RABE_FEHLER,
    ERIC_IO_READER_KEINE_RABEID,
    ERIC_IO_READER_RABEID_UNGUELTIG,
    ERIC_IO_READER_RABE_VERIFIKATIONSID_UNGUELTIG,
    ERIC_IO_READER_RABE_REFERENZID_UNGUELTIG,
    ERIC_IO_READER_RABE_REFERENZID_NICHT_ERLAUBT,
    ERIC_IO_READER_RABE_REFERENZIDS_NICHT_EINDEUTIG,
    ERIC_IO_READER_ZU_VIELE_ANHAENGE,
    ERIC_IO_READER_ANHANG_ZU_GROSS,
    ERIC_IO_READER_ANHAENGE_ZU_GROSS,
    ERIC_IO_READER_ANHANG_ZU_KLEIN,
    ERIC_IO_READER_SCHEMA_VALIDIERUNGSFEHLER,
    ERIC_IO_READER_UNBEKANNTE_XML_ENTITY,
    ERIC_IO_TESTHERSTELLERID_GESPERRT,
    ERIC_IO_DATENTEILNOTFOUND,
    ERIC_IO_DATENTEILENDNOTFOUND,
    ERIC_IO_UEBERGABEPARAMETER_FEHLERHAFT,
    ERIC_IO_UNGUELTIGE_UTF8_SEQUENZ,
    ERIC_IO_UNGUELTIGE_ZEICHEN_IN_PARAMETER,
    ERIC_PRINT_INTERNER_FEHLER,
    ERIC_PRINT_DRUCKVORLAGE_NICHT_GEFUNDEN,
    ERIC_PRINT_UNGUELTIGER_DATEI_PFAD,
    ERIC_PRINT_INITIALISIERUNG_FEHLERHAFT,
    ERIC_PRINT_AUSGABEZIEL_UNBEKANNT,
    ERIC_PRINT_ABBRUCH_DRUCKVORBEREITUNG,
    ERIC_PRINT_ABBRUCH_GENERIERUNG,
    ERIC_PRINT_STEUERFALL_NICHT_UNTERSTUETZT,
    ERIC_PRINT_FUSSTEXT_ZU_LANG,
    ERIC_PRINT_PDFCALLBACK,
}

/**
* Represent a base response that encapsulate any ERiC API function return value.
*/
// @Api(Description="Represent a base response that encapsulate any ERiC API function return value.")
class EricFehlerCodeResponse extends ServiceReponseBase implements IConvertible
{
    /**
    * The status code that the ERiC API function returns.
    */
    // @ApiMember(Description="The status code that the ERiC API function returns.")
    EricFehlerCode? statusCode;

    /**
    * The status message that the ERiC API function returns.
    */
    // @ApiMember(Description="The status message that the ERiC API function returns.")
    String? statusText;

    EricFehlerCodeResponse({this.statusCode,this.statusText});
    EricFehlerCodeResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        statusCode = JsonConverters.fromJson(json['statusCode'],'EricFehlerCode',context!);
        statusText = json['statusText'];
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'statusCode': JsonConverters.toJson(statusCode,'EricFehlerCode',context!),
        'statusText': statusText
    });

    getTypeName() => "EricFehlerCodeResponse";
    TypeContext? context = _ctx;
}

/**
* Represent issuer details of a certificate.
*/
// @Api(Description="Represent issuer details of a certificate.")
class Info implements IConvertible
{
    /**
    * The name of the issuer detail.
    */
    // @ApiMember(Description="The name of the issuer detail.")
    String? name;

    /**
    * The value of the issuer detail.
    */
    // @ApiMember(Description="The value of the issuer detail.")
    String? wert;

    Info({this.name,this.wert});
    Info.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        name = json['name'];
        wert = json['wert'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'name': name,
        'wert': wert
    };

    getTypeName() => "Info";
    TypeContext? context = _ctx;
}

/**
* Represents an issuer of certificates.
*/
// @Api(Description="Represents an issuer of certificates.")
class Issuer implements IConvertible
{
    /**
    * Details about the issuer of certificates.
    */
    // @ApiMember(Description="Details about the issuer of certificates.")
    List<Info>? infos = [];

    Issuer({this.infos});
    Issuer.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        infos = JsonConverters.fromJson(json['infos'],'List<Info>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'infos': JsonConverters.toJson(infos,'List<Info>',context!)
    };

    getTypeName() => "Issuer";
    TypeContext? context = _ctx;
}

/**
* Represents the subject of the certificate.
*/
// @Api(Description="Represents the subject of the certificate.")
class Subjekt implements IConvertible
{
    /**
    * Details about the subject of the certificate.
    */
    // @ApiMember(Description="Details about the subject of the certificate.")
    List<Info>? infos = [];

    Subjekt({this.infos});
    Subjekt.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        infos = JsonConverters.fromJson(json['infos'],'List<Info>',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'infos': JsonConverters.toJson(infos,'List<Info>',context!)
    };

    getTypeName() => "Subjekt";
    TypeContext? context = _ctx;
}

/**
* Represents a type of Identification characteristic. Identification marker that was specified when the certificate was generated. For portal certificates usually tax number or identification number.
*/
enum Identifikationsmerkmaltyp
{
    Unbekannt,
    Steuernummer,
    Identifikationsnummer,
    BZStNummer,
    Bearbeiternummer,
    Clienterzeugt,
}

/**
* Represents a type of registrar. Contains informatiom on the type of person or organization, for which a certificate is issued. Often 'Person' or 'Organisation'.
*/
enum Registrierertyp
{
    Unbekannt,
    Person,
    Organisation,
    Rechteverwalter,
    BZStInland,
    BZStAusland,
    BZStKevizz,
}

/**
* Represents a type of verification. Contains information on the verification of a person or organisation by an issuer of certificates.
*/
enum VerifikationsartTyp
{
    Unbekannt,
    Postweg,
    Neuerpersonalausweis,
}

/**
* Represents a type of token.Contains information about the type of token used to create a certificate.
*/
enum TokenTyp
{
    Unbekannt,
    Software,
    Stick,
    Karte,
    Ausweis,
}

/**
* Represents the characteristics of a certificate.
*/
// @Api(Description="Represents the characteristics of a certificate.")
class Zertifikateigenschaften implements IConvertible
{
    /**
    * The start validity date of the certificate.
    */
    // @ApiMember(Description="The start validity date of the certificate.")
    DateTime? ausgestelltAm;

    /**
    * The expiry date of the certificate.
    */
    // @ApiMember(Description="The expiry date of the certificate.")
    DateTime? gueltigBis;

    /**
    * The signing algorithm and Object Identifier (for more information on OIDs, please see 'http://www.oid-info.com/')
    */
    // @ApiMember(Description="The signing algorithm and Object Identifier (for more information on OIDs, please see 'http://www.oid-info.com/')")
    String? signaturalgorithmus;

    /**
    * The MD5-hash of the public key.
    */
    // @ApiMember(Description="The MD5-hash of the public key.")
    String? publicKeyMD5;

    /**
    * The SHA1-hash of the public key.
    */
    // @ApiMember(Description="The SHA1-hash of the public key.")
    String? publicKeySHA1;

    /**
    * The key length of the public key in units of bits. For example '2048 bits'
    */
    // @ApiMember(Description="The key length of the public key in units of bits. For example '2048 bits'")
    int? publicKeyBitLength;

    /**
    * The issuer of the certificate.
    */
    // @ApiMember(Description="The issuer of the certificate.")
    Issuer? issuer;

    /**
    * The subject of the certificate.
    */
    // @ApiMember(Description="The subject of the certificate.")
    Subjekt? subjekt;

    /**
    * The identification characteristics of the certificate.
    */
    // @ApiMember(Description="The identification characteristics of the certificate.")
    Identifikationsmerkmaltyp? identifikationsmerkmaltyp;

    /**
    * The type of registrar, to which the key is issued.
    */
    // @ApiMember(Description="The type of registrar, to which the key is issued.")
    Registrierertyp? registrierertyp;

    /**
    * The type of verification conducted for the person or organisation, to which the certificate is issued.
    */
    // @ApiMember(Description="The type of verification conducted for the person or organisation, to which the certificate is issued.")
    VerifikationsartTyp? verifikationsart;

    /**
    * The type of token used to create the certificate.
    */
    // @ApiMember(Description="The type of token used to create the certificate.")
    TokenTyp? tokenTyp;

    /**
    * Is the certificate is a test certificate? True if it is a test certificate; otherwise false.
    */
    // @ApiMember(Description="Is the certificate is a test certificate? True if it is a test certificate; otherwise false.")
    bool? testzertifikat;

    Zertifikateigenschaften({this.ausgestelltAm,this.gueltigBis,this.signaturalgorithmus,this.publicKeyMD5,this.publicKeySHA1,this.publicKeyBitLength,this.issuer,this.subjekt,this.identifikationsmerkmaltyp,this.registrierertyp,this.verifikationsart,this.tokenTyp,this.testzertifikat});
    Zertifikateigenschaften.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        ausgestelltAm = JsonConverters.fromJson(json['ausgestelltAm'],'DateTime',context!);
        gueltigBis = JsonConverters.fromJson(json['gueltigBis'],'DateTime',context!);
        signaturalgorithmus = json['signaturalgorithmus'];
        publicKeyMD5 = json['publicKeyMD5'];
        publicKeySHA1 = json['publicKeySHA1'];
        publicKeyBitLength = json['publicKeyBitLength'];
        issuer = JsonConverters.fromJson(json['issuer'],'Issuer',context!);
        subjekt = JsonConverters.fromJson(json['subjekt'],'Subjekt',context!);
        identifikationsmerkmaltyp = JsonConverters.fromJson(json['identifikationsmerkmaltyp'],'Identifikationsmerkmaltyp',context!);
        registrierertyp = JsonConverters.fromJson(json['registrierertyp'],'Registrierertyp',context!);
        verifikationsart = JsonConverters.fromJson(json['verifikationsart'],'VerifikationsartTyp',context!);
        tokenTyp = JsonConverters.fromJson(json['tokenTyp'],'TokenTyp',context!);
        testzertifikat = json['testzertifikat'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'ausgestelltAm': JsonConverters.toJson(ausgestelltAm,'DateTime',context!),
        'gueltigBis': JsonConverters.toJson(gueltigBis,'DateTime',context!),
        'signaturalgorithmus': signaturalgorithmus,
        'publicKeyMD5': publicKeyMD5,
        'publicKeySHA1': publicKeySHA1,
        'publicKeyBitLength': publicKeyBitLength,
        'issuer': JsonConverters.toJson(issuer,'Issuer',context!),
        'subjekt': JsonConverters.toJson(subjekt,'Subjekt',context!),
        'identifikationsmerkmaltyp': JsonConverters.toJson(identifikationsmerkmaltyp,'Identifikationsmerkmaltyp',context!),
        'registrierertyp': JsonConverters.toJson(registrierertyp,'Registrierertyp',context!),
        'verifikationsart': JsonConverters.toJson(verifikationsart,'VerifikationsartTyp',context!),
        'tokenTyp': JsonConverters.toJson(tokenTyp,'TokenTyp',context!),
        'testzertifikat': testzertifikat
    };

    getTypeName() => "Zertifikateigenschaften";
    TypeContext? context = _ctx;
}

/**
* Represents a list of properties for a specified certificate.
*/
// @Api(Description="Represents a list of properties for a specified certificate.")
class EricHoleZertifikatEigenschaften implements IConvertible
{
    /**
    * The properties of the certificate used for signing. These are not available for client-side certificates.
    */
    // @ApiMember(Description="The properties of the certificate used for signing. These are not available for client-side certificates.")
    Zertifikateigenschaften? signaturzertifikateigenschaften;

    /**
    * The properties of certificates used for encryption.
    */
    // @ApiMember(Description="The properties of certificates used for encryption.")
    Zertifikateigenschaften? verschluesselungszertifikateigenschaften;

    EricHoleZertifikatEigenschaften({this.signaturzertifikateigenschaften,this.verschluesselungszertifikateigenschaften});
    EricHoleZertifikatEigenschaften.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        signaturzertifikateigenschaften = JsonConverters.fromJson(json['signaturzertifikateigenschaften'],'Zertifikateigenschaften',context!);
        verschluesselungszertifikateigenschaften = JsonConverters.fromJson(json['verschluesselungszertifikateigenschaften'],'Zertifikateigenschaften',context!);
        return this;
    }

    Map<String, dynamic> toJson() => {
        'signaturzertifikateigenschaften': JsonConverters.toJson(signaturzertifikateigenschaften,'Zertifikateigenschaften',context!),
        'verschluesselungszertifikateigenschaften': JsonConverters.toJson(verschluesselungszertifikateigenschaften,'Zertifikateigenschaften',context!)
    };

    getTypeName() => "EricHoleZertifikatEigenschaften";
    TypeContext? context = _ctx;
}

/**
* Represents a type that encapsulates the return values of the ERiC API function, which retrieves the details of a certificate.
*/
// @Api(Description="Represents a type that encapsulates the return values of the ERiC API function, which retrieves the details of a certificate.")
class HoleZertifikatEigenschaftenResponse extends EricFehlerCodeResponse implements IConvertible
{
    /**
    * The list of test fiscal authoririties.
    */
    // @ApiMember(Description="The list of test fiscal authoririties.")
    EricHoleZertifikatEigenschaften? rueckgabe;

    HoleZertifikatEigenschaftenResponse({this.rueckgabe});
    HoleZertifikatEigenschaftenResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        rueckgabe = JsonConverters.fromJson(json['rueckgabe'],'EricHoleZertifikatEigenschaften',context!);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'rueckgabe': JsonConverters.toJson(rueckgabe,'EricHoleZertifikatEigenschaften',context!)
    });

    getTypeName() => "HoleZertifikatEigenschaftenResponse";
    TypeContext? context = _ctx;
}

/**
* A synchronous service to get the properties of specified  client-side certificate.
*/
// @Api(Description="A synchronous service to get the properties of specified  client-side certificate.")
class HoleClientSideZertifikatEigenschaften extends HoleClientSideZertifikatEigenschaftenBase implements IConvertible
{
    HoleClientSideZertifikatEigenschaften();
    HoleClientSideZertifikatEigenschaften.fromJson(Map<String, dynamic> json) : super.fromJson(json);
    fromMap(Map<String, dynamic> json) {
        super.fromMap(json);
        return this;
    }

    Map<String, dynamic> toJson() => super.toJson();
    getTypeName() => "HoleClientSideZertifikatEigenschaften";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'taxfiling.pwc.de', types: <String, TypeInfo> {
    'FileBase': TypeInfo(TypeOf.AbstractClass),
    'Uint8List': TypeInfo(TypeOf.Class, create:() => Uint8List(0)),
    'FileMetadata': TypeInfo(TypeOf.Class, create:() => FileMetadata()),
    'BinaryFile': TypeInfo(TypeOf.Class, create:() => BinaryFile()),
    'ClientSideCertificate': TypeInfo(TypeOf.Class, create:() => ClientSideCertificate()),
    'HoleClientSideZertifikatEigenschaftenBase': TypeInfo(TypeOf.AbstractClass),
    'ServiceReponseBase': TypeInfo(TypeOf.AbstractClass),
    'EricFehlerCode': TypeInfo(TypeOf.Enum, enumValues:EricFehlerCode.values),
    'EricFehlerCodeResponse': TypeInfo(TypeOf.Class, create:() => EricFehlerCodeResponse()),
    'Info': TypeInfo(TypeOf.Class, create:() => Info()),
    'Issuer': TypeInfo(TypeOf.Class, create:() => Issuer()),
    'List<Info>': TypeInfo(TypeOf.Class, create:() => <Info>[]),
    'Subjekt': TypeInfo(TypeOf.Class, create:() => Subjekt()),
    'Identifikationsmerkmaltyp': TypeInfo(TypeOf.Enum, enumValues:Identifikationsmerkmaltyp.values),
    'Registrierertyp': TypeInfo(TypeOf.Enum, enumValues:Registrierertyp.values),
    'VerifikationsartTyp': TypeInfo(TypeOf.Enum, enumValues:VerifikationsartTyp.values),
    'TokenTyp': TypeInfo(TypeOf.Enum, enumValues:TokenTyp.values),
    'Zertifikateigenschaften': TypeInfo(TypeOf.Class, create:() => Zertifikateigenschaften()),
    'EricHoleZertifikatEigenschaften': TypeInfo(TypeOf.Class, create:() => EricHoleZertifikatEigenschaften()),
    'HoleZertifikatEigenschaftenResponse': TypeInfo(TypeOf.Class, create:() => HoleZertifikatEigenschaftenResponse()),
    'HoleClientSideZertifikatEigenschaften': TypeInfo(TypeOf.Class, create:() => HoleClientSideZertifikatEigenschaften()),
});

Dart HoleClientSideZertifikatEigenschaften DTOs

To override the Content-type in your clients, use the HTTP Accept Header, append the .json suffix or ?format=json

To embed the response in a jsonp callback, append ?callback=myCallback

HTTP + JSON

The following are sample HTTP requests and responses. The placeholders shown need to be replaced with actual values.

POST /HoleClientSideZertifikatEigenschaften HTTP/1.1 
Host: taxfiling.pwc.de 
Accept: application/json
Content-Type: application/json
Content-Length: length

{"zertifikat":{"name":"String","pin":"String","privateKeyFile":{"metadata":{"name":"String","fullName":"String","lastAccessTime":"\/Date(-62135596800000-0000)\/","lastAccessTimeUtc":"\/Date(-62135596800000-0000)\/","lastWriteTime":"\/Date(-62135596800000-0000)\/","lastWriteTimeUtc":"\/Date(-62135596800000-0000)\/","length":0,"userId":0,"groupId":0,"othersCanRead":false,"groupCanExecute":false,"groupCanWrite":false,"groupCanRead":false,"ownerCanExecute":false,"ownerCanWrite":false,"ownerCanRead":false,"othersCanExecute":false,"othersCanWrite":false,"extensions":{"String":"String"}},"name":"String","content":"AA=="},"publicKeyFile":{"metadata":{"name":"String","fullName":"String","lastAccessTime":"\/Date(-62135596800000-0000)\/","lastAccessTimeUtc":"\/Date(-62135596800000-0000)\/","lastWriteTime":"\/Date(-62135596800000-0000)\/","lastWriteTimeUtc":"\/Date(-62135596800000-0000)\/","length":0,"userId":0,"groupId":0,"othersCanRead":false,"groupCanExecute":false,"groupCanWrite":false,"groupCanRead":false,"ownerCanExecute":false,"ownerCanWrite":false,"ownerCanRead":false,"othersCanExecute":false,"othersCanWrite":false,"extensions":{"String":"String"}},"name":"String","content":"AA=="},"checksumFile":{"metadata":{"name":"String","fullName":"String","lastAccessTime":"\/Date(-62135596800000-0000)\/","lastAccessTimeUtc":"\/Date(-62135596800000-0000)\/","lastWriteTime":"\/Date(-62135596800000-0000)\/","lastWriteTimeUtc":"\/Date(-62135596800000-0000)\/","length":0,"userId":0,"groupId":0,"othersCanRead":false,"groupCanExecute":false,"groupCanWrite":false,"groupCanRead":false,"ownerCanExecute":false,"ownerCanWrite":false,"ownerCanRead":false,"othersCanExecute":false,"othersCanWrite":false,"extensions":{"String":"String"}},"name":"String","content":"AA=="},"description":"String","tags":["String"]}}
HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: length

{"rueckgabe":{"signaturzertifikateigenschaften":{"ausgestelltAm":"\/Date(-62135596800000-0000)\/","gueltigBis":"\/Date(-62135596800000-0000)\/","signaturalgorithmus":"String","publicKeyMD5":"String","publicKeySHA1":"String","publicKeyBitLength":0,"issuer":{"infos":[{"name":"String","wert":"String"}]},"subjekt":{"infos":[{"name":"String","wert":"String"}]},"identifikationsmerkmaltyp":"Unbekannt","registrierertyp":"Unbekannt","verifikationsart":"Unbekannt","tokenTyp":"Unbekannt","testzertifikat":false},"verschluesselungszertifikateigenschaften":{"ausgestelltAm":"\/Date(-62135596800000-0000)\/","gueltigBis":"\/Date(-62135596800000-0000)\/","signaturalgorithmus":"String","publicKeyMD5":"String","publicKeySHA1":"String","publicKeyBitLength":0,"issuer":{"infos":[{"name":"String","wert":"String"}]},"subjekt":{"infos":[{"name":"String","wert":"String"}]},"identifikationsmerkmaltyp":"Unbekannt","registrierertyp":"Unbekannt","verifikationsart":"Unbekannt","tokenTyp":"Unbekannt","testzertifikat":false}},"statusCode":"ERIC_OK","statusText":"String","id":"String","index":0,"responseStatus":{"errorCode":"String","message":"String","stackTrace":"String","errors":[{"errorCode":"String","fieldName":"String","message":"String","meta":{"String":"String"}}],"meta":{"String":"String"}}}