import { EndUserKSP, EndUserKSPClientIdType, EndUserSignAlgo } from "./EndUserConstants"; /** * CA configuration. * @property > issuerCNs - An array with CA common names. * @property address - CA server address. * @property ocspAccessPointAddress - CA OCSP server access point address. * @property ocspAccessPointPort - CA OCSP server access point port. * @property cmpAddress - CA CMP server address. * @property tspAddress - CA TSP server address. * @property tspAddressPort - CA TSP server port. * @property directAccess - A boolean value that specifies whether CA server supports direct access without Proxy-handler. * @property certsInKey - A boolean value that specifies whether the private key container can have certificates. * @property cmpCompatibility - CA CMP server compatibility level. * @property qscdSNInCert - A boolean value that specifies whether CA server supports QSCD serial number in user certificate. * @property codeEDRPOU - CA EDRPOU code. */ export declare class CASettings { issuerCNs: Array; address: string; ocspAccessPointAddress: string; ocspAccessPointPort: string; cmpAddress: string; tspAddress: string; tspAddressPort: string; directAccess: boolean; certsInKey: boolean; cmpCompatibility: number; qscdSNInCert: boolean; codeEDRPOU: string; } /** * KSP configuration. * @property name - KSP name. * @property ksp - KSP type. * @property address - KSP server address. * @property port - KSP server port. * @property directAccess - A boolean value that specifies whether KSP server supports direct access without Proxy-handler. * @property clientIdPrefix - Client ID prefix that is added to all client IDs to identify calling system. * @property confirmationURL - KSP server operation confirmation URL. * @property mobileAppName - KSP server mobile application name. * @property pollingInterval - KSP server polling interval in seconds. * @property systemId - System identifier (website, system name, etc). * @property clientIdType - Client ID type (name, phone, email). * @property registrationURL - KSP server user registration URL. * @property codeEDRPOU - KSP server EDRPOU code * @property signAlgos - Signature algorithms supported by KSP */ export declare class KSPSettings { name: string; ksp: EndUserKSP; address?: string; port?: string; directAccess?: boolean; clientIdPrefix?: string; confirmationURL?: string; mobileAppName?: string; pollingInterval?: number; systemId?: string; clientIdType?: EndUserKSPClientIdType; registrationURL?: string; codeEDRPOU?: string; signAlgos?: Array; } /** * Settings to configure EndUser library. * @property language - The language of error description. Possible values "uk", "ru", "en". * @property encoding - The encoding of string data. Possible values "UTF-8", "UTF-16LE". * @property httpProxyServiceURL - The URL of the http proxy service (Proxy-handler) that redirects requests to the CA. Using by JavaScript and MobileID libraries. * @property directAccess - A boolean value that specifies whether library supports direct access without Proxy-handler for CAs that support direct access. * @property | string> CAs - An array or URL with CAs configurations. * @property CACertificates - A binary array or URL with CAs certificates. * @property TSLAddress - A string that contains TSLs URLs in format "2-letter_country_code:url;", e.x. "UA:https://czo.gov.ua/download/tl/TL-UA-DSTU.xml;UA:https://czo.gov.ua/download/tl/TL-UA-EC.xml;EU:https://ec.europa.eu/tools/lotl/eu-lotl.xml". * @property | null> allowedKeyMediaTypes - A string array with allowed key media types. Using by SignWeb library. * @property }> | null> allowedKeyMediaDevices - A string array with allowed key media devices. Using by SignWeb library. * @property mssServiceURL - The URL of the mobile signature service (mss). Using by MobileID and KSP library (deprecated). * @property passwordRequirements - The string with regular expression with private key password requirements. * @property > KSPs - An array with KSPs configurations. * @property allowMakeNewCertOnNewKeyMedia - A boolean value that specifies whether allow make new certificate on new key media. * @property allowMakeNewCertOnFileKeyMedia - A boolean value that specifies whether allow make new certificate on file key media. * @property allowMakeNewCertOnAnyTypeKeyMedia - A boolean value that specifies whether allow make new certificate on any key media. * @property downloadsURL - The URL of the SignWeb library downloads location. Allows override default SignWeb downloads location. * @property supportAdvancedCertificates - A boolean value that specifies whether library support advanced certificates (not implemented). * @property signInfoTmpl - An object or URL with sign info template (not implemented). * @property connectionTimeout - Timeout for connections to CA servers in ms. Affects only for SW library type. By default set to 60s. * @property ocspResponseExpireTime - The time interval during which the cryptolibrary trust for the response from the OCSP server in seconds. By default set to 0s, recomended 30s (used on the https://czo.gov.ua/verify), max value 3600s. * @property useSLoginPrivateKey - A boolean value that specifies whether library reads private key used for system login. Using by SignWeb libraries. By default set to false. * @property allowForeignCAs - A boolean value that specifies support for reading private keys without specifying a CA settings in the CAs list. Used to read foreign keys. Typically used in conjunction with setting the TSLAddress and TSPServer parameters. By default set to false. * @property <{address: string, port: string}> TSPServer - Default TSP server settings (used if the end-user certificate does not have a TSP access point). The first TSP server from the CAs is used by default. */ export declare class EndUserSettings { language: string; encoding: string; httpProxyServiceURL: string; directAccess: boolean; CAs: Array | string; CACertificates: Uint8Array | string; TSLAddress?: string; allowedKeyMediaTypes?: Array; allowedKeyMediaDevices?: Array<{ type: string; devices: Array; }>; mssServiceURL?: string; passwordRequirements?: string; KSPs?: Array; allowMakeNewCertOnNewKeyMedia?: boolean; allowMakeNewCertOnFileKeyMedia?: boolean; allowMakeNewCertOnAnyTypeKeyMedia?: boolean; downloadsURL?: string; supportAdvancedCertificates?: boolean; signInfoTmpl?: any | string; connectionTimeout?: number; ocspResponseExpireTime?: number; useSLoginPrivateKey?: boolean; allowForeignCAs?: boolean; TSPServer?: { address: string; port: string; }; } /** * Settings to configure EndUser library proxy server. * @property useProxy - boolean value that specifies whether library use proxy server to access to the CA. * @property address - The DNS-name or IP-address of the proxy server. * @property port - The port of the proxy server. * @property anonymous - A boolean value that specifies whether library use authentication on proxy server to access to the CA. * @property user - The user name of the proxy server. * @property password - The user password of the proxy server. * @property savePassword - A boolean value that specifies whether library save user password. */ export declare class EndUserProxySettings { useProxy: boolean; address: string; port: string; anonymous: boolean; user: string; password: string; savePassword: boolean; }