Amadis

SignatureRequest

Goal

The SignatureRequest call is intended to provide a straightforward way to request the signature of a certificate by sending a CSR (Certificate Signature Request) to a signing authority.

Internal Process

This function will proceed to exchange a CertificateManagementRequest (catm.007.01.02) (and hopefully, a corresponding CertificateManagementResponse) with the given TMS host, valorising fields with the given parameters. This function does not allow the full flexibility of Nexo’s CertificateManagementRequest (catm.008.01.02) - it is meant for a simplified usage, in a specific recurrent context.

Usage

SignatureResult signatureResult = AmadisConfigurationModule.SignatureRequest(provider, configuration, target, csr, pki);

Where:

provider → a TMSConnectionProvider object

configuration → a basic Arkos-format configuration (see Required Configuration Fields)

target → the target for this operation (in most cases, an ip:port string)

csr→ the CSR for which a signature is requested, in a format known by the TMS system

pki → the PKI for this operation

 

signatureResult → a SignatureResult object containing one of the following possiblities:

signatureResult.mSuccess == false

Field

Type

Content

Field

Type

Content

signatureResult.mError

String

human readable explanation of operation’s failure

signatureResult.mSuccess == true

Field

Type

Content

Field

Type

Content

signatureResult.mClientCertificate

Binary*

The signed client certificate in a format known by the TMS system (in most cases, this is UTF8 data of a PEM-encoded certificate)

signatureResult.mClientFullPath

Binary*

The signed client certificate’s full CA path in a format known by the TMS system (in most cases, this is UTF8 data of a list of PEM-encoded certificate)

signatureResult.mServerFullPath

Binary*

The server’s full CA path in a format known by the TMS system (in most cases, this is UTF8 data of a list of PEM-encoded certificate)

Required configuration fields

The following fields are required under the TerminalConfiguration top level element

Field

Note

Field

Note

ConfigurationTags.POIID

 

ConfigurationTags.InitiatingParty

 

ConfigurationTags.RecipientParty

 

ConfigurationTags.ApplicationVersion

 

ConfigurationTags.InterfaceDeviceSerialNumber

 

ConfigurationTags.ExtendedDeviceSerialNumber

Optional

ConfigurationTags.DeviceManufacturerName

 

ConfigurationTags.DeviceModelName

Â