El PadConnector asume que las peticiones a través del socket web son objetos JSON. .
Las peticiones contienen un campo "messageId".
Las peticiones contienen un campo "type".
Las peticiones pueden contener un campo "data" cuya estructura varía para los diferentes tipos de mensajes..
Las respuestas son objetos JSON.
Las respuestas pueden contener un campo "messageId"..
Las respuestas pueden contener un campo "data”.
El messageId puede ser un campo del campo "data”.
Las respuestas estáticas son respuestas que pueden enviarse en el futuro.
Las respuestas estáticas contienen un campo "type”.
Las respuestas estáticas contienen un campo «data» que tiene un campo «messageId» y una secuencia de campos con claves «value[0-9]+».".
Tipos
Peticiones, respuestas, respuestas estáticas.
executeDeviceSearch
busca dispositivos y selecciona uno de ellos.
La respuesta contiene"data" con "ret" con un uno (1) en caso de que la respuesta sea afirmativa.
finishSigning
finaliza una captura de firma en ejecución de forma similar al clic de OK en el dispositivo.
Esto debería dar lugar a una respuesta estática «onStaticAppletSignatureFinished».
getBioData
obtiene biodatos.
La respuesta contiene «data» que contiene un campo «ret» con los biodatos como una secuencia codificada en base64 de registros naturaSignV2.
getButtonConfigs
obtiene la configuración actual de los botones de la tableta de firma. Desde v2.2.0
La respuesta contiene «data» con «ret» con un conjunto de configuraciones de botones.
Un elemento de esa matriz, una sola configuración de botón, tiene los campos
mode being one of Signature or DocView or DocSign
kind being one of Ok, Repeat, Cancel, Rotate, Rotate90, Prev, Next, ZoomIn, ZoomOut, StartSignature
visible, boolean
enabled, boolean
color which is a 32bit ARGB value.
el modo puede ser Firma, DocView o DocSign
siendo uno de: Ok, Repeat, Cancel, Rotate, Rotate90, Prev, Next, ZoomIn, ZoomOut, StartSignature
visible, booleano
enabled, booleano
color, que es un valor Valor ARGB de 32 bits.
{"data":{"messageId":"ceec4053-a1f3-4a6f-996d-a4b3e975cd83"},"type":"getButtonConfigs"} {"data":{"ret":[ {"mode":"Signature", "visible":true, "color":-16776961, "kind":"Rotate", "enabled":true}, {"mode":"Signature", "visible":false, "color":-16776961, "kind":"Rotate90", "enabled":false}, {"mode":"Signature", "visible":false, "color":-16711936, "kind":"Next", "enabled":false}, {"mode":"Signature", "visible":false, "color":-16711936, "kind":"Prev", "enabled":false}, {"mode":"Signature", "visible":true, "color":-16711936, "kind":"Ok", "enabled":true}, {"mode":"Signature", "visible":true, "color":-8372224, "kind":"Repeat", "enabled":true}, {"mode":"Signature", "visible":true, "color":-16711936, "kind":"Cancel", "enabled":true}, {"mode":"DocView", "visible":true, "color":-16776961, "kind":"Rotate", "enabled":true}, {"mode":"DocView", "visible":true, "color":-16776961, "kind":"Rotate90", "enabled":true}, {"mode":"DocView", "visible":true, "color":-65536, "kind":"Next", "enabled":true}, {"mode":"DocView", "visible":true, "color":-16776961, "kind":"Prev", "enabled":false}, {"mode":"DocView", "visible":true, "color":-16776961, "kind":"ZoomIn", "enabled":true}, {"mode":"DocView", "visible":true, "color":-16776961, "kind":"ZoomOut", "enabled":true}, {"mode":"DocView", "visible":true, "color":-65536, "kind":"StartSignature", "enabled":true}, {"mode":"DocSign", "visible":true, "color":-16776961, "kind":"Rotate", "enabled":true}, {"mode":"DocSign", "visible":false, "color":-16776961, "kind":"Rotate90", "enabled":false}, {"mode":"DocSign", "visible":true, "color":-14336, "kind":"Next", "enabled":true}, {"mode":"DocSign", "visible":true, "color":-16725761, "kind":"Prev", "enabled":true}, {"mode":"DocSign", "visible":true, "color":-16740298, "kind":"Ok", "enabled":true}, {"mode":"DocSign", "visible":true, "color":-996296, "kind":"Repeat", "enabled":true}, {"mode":"DocSign", "visible":true, "color":-1966054, "kind":"Cancel", "enabled":true}]}, "messageId":"ceec4053-a1f3-4a6f-996d-a4b3e975cd83","type":"response"} |
getButtonEvents
observa las pulsaciones de botón en Tableta de firma. Desde la v2.2.0
Las respuestas estáticas contienen «data» que contiene «ret» que contiene el «kind» del botón que se ha pulsado.
{"data":{"messageId":"13dad597-d82c-44ac-9f6d-0906ce95f775"},"type":"getButtonEvents"}{ "data":{"ret":{"kind":"StartSignature"}}," messageId":"13dad597-d82c-44ac-9f6d-0906ce95f775","type":"response" } |
getDevice
obtiene el nombre del dispositivo seleccionado
La respuesta contiene "data" con "ret" con el nombre.
getDeviceCertificate
obtiene un certificado necesario para verificar la última firma.
La respuesta contiene "data" con "ret" con un certificado X.509 codificado DER en base64.
getDeviceCount
obtiene el número de dispositivos de firma conectados
reply contiene "data" con "ret" con el número de dispositivos.
getDeviceInfo
obtiene información sobre el dispositivo seleccionado.
La respuesta contiene "data" con "ret" con
"serial», el número de serie,
«deviceType», el tipo de dispositivo,
«firmwareVersion», la versión del firmware,
«openState», el estado abierto, debe ser cero(0),
«deviceTime», el tiempo en milisegundos desde 1970,
«cryptoIdInfo», un texto XML que contiene información sobre las claves criptográficas almacenadas en el dispositivo.
«cryptoIdInfoJson», contiene información similar a “cryptoIdInfo” en forma de matriz JSON. Desde v2.1.0.
deviceType=duraSign 10.0, serial=123456000, openState=3, cryptoIdInfo=<?xml version="1.0" encoding="UTF-8"?><CryptoIDInfoList xmlns="http://www.stepover.com/CryptoIDContaineInfoXMLSchema"> <CryptoIDInfo><id>0</id><description>StepOver cryptoIdv1</description><padCertLength>256</padCertLength><padNotaryLength>256</padNotaryLength></CryptoIDInfo> <CryptoIDInfo><id>1</id><description>StepOver cryptoIdv2</description><padCertLength>512</padCertLength><padNotaryLength>256</padNotaryLength></CryptoIDInfo> <CryptoIDInfo><id>2</id><description>StepOver cryptoIdv2</description><padCertLength>512</padCertLength><padNotaryLength>512</padNotaryLength></CryptoIDInfo> </CryptoIDInfoList>, cryptoIdInfoJson=[ {"padCertLength":256,"description":"StepOver cryptoIdv1","padNotaryLength":256}, {"padCertLength":512,"description":"StepOver cryptoIdv2","padNotaryLength":256}, {"padCertLength":512,"description":"StepOver cryptoIdv2","padNotaryLength":512} ], firmwareVersion=7.9.0.354, deviceTime=1644853028000 |
getDeviceOpened
obtiene si el dispositivo ha sido abierto.
La respuesta contiene "data" con "ret" con "true" o "false".
getDeviceSerial
Responde "data" que contiene un "ret" con el número de serie del dispositivo
getEncryptedAesKey
obtiene una clave necesaria para descifrar los bioDatos capturados durante el último proceso de firma.
request
"data" contiene un campo "darray" que es una matriz JSON de números, cada uno de los cuales es un octeto del hash del documento preliminar.
reply
"data" que contiene un campo "ret" con la clave AES cifrada con codificación base64
getNotaryInfo
Responde "data" que contiene un "ret" con la información notarial.
getPreliminaryData
obtiene los datos preliminares, incluida la última imagen de firma.
request
"data" que contiene
«withAlpha», si utilizar un canal alfa para la transparencia,
«width» la anchura deseada de la imagen,
«height» la altura deseada de la imagen.
reply
contiene "data" con "ret" que contiene un array con estos elementos
los datos biométricos
el certificado necesario para verificar la firma como texto base64,
la última imagen de la firma como texto base64,
la información del notario como texto base64,
el nombre del dispositivo,
el número de serie del dispositivo.
getSignatureImage
obtiene la imagen de la firma de dos maneras.
Si se ha llamado a startSigning con el mapa "config",
esto responde a un flujo de imágenes que termina cuando finaliza la firma.Else, it sends a single image.
"data" puede contener
«withAlpha», si utilizar un canal alfa para la transparencia, (verdadero o falso),
«width» la anchura deseada,
«height» la altura deseada.
getSignedFinalDocHash
está obsoleta.
getVersion
obtiene la versión del PadConnector.
La respuesta contiene "data" con "ret" con la versión.
keepAlive
Responde "data" que contiene un "ret" con el texto "ok".
onStaticAppletGetImage
es una respuesta estática de
un startSigning a una
una solicitud startViewing
Puede ser una señal (1) o una solicitud de imagen (2).
Cómo reaccionar ante la señal depende de la aplicación.
"data" contiene
valor0, el número de página basado en uno
valor1, es uno (1) o dos (2)
En caso de una petición de imagen como consecuencia de una petición startSigning
renderiza la página con la resolución utilizada en dicha solicitud
y enviarla como parte de la respuesta al PadConnector.
Tenga en cuenta que en la solicitud startSigning se utilizan números de página basados en cero.
Ejemplo
{ "data":{ "value0":1, "value1":2, "messageId":"6d1a23df-5919-4d75-9446-4a6d95f4ed7a" }, "type":"onStaticAppletGetImage" } |
setButtonConfigs
establece la configuración de los botones. Desde la v2.2.0.
The request contains "data" that contains "buttonConfigs" which is an , to change the buttons.La petición contiene «data» que contiene «buttonConfigs» que es un conjunto de configuraciones de botones, para cambiar los botones.
Respuestas"ok".
{"data":{ "buttonConfigs":[{"mode":"DocView","visible":true,"color":-16711936,"kind":"StartSignature","enabled":true}], "messageId":"3af72aa7-7d90-4f52-a159-edf4cafbb599"}, "type":"setButtonConfigs"}} {"data":{"ret":"ok"},"messageId":"3af72aa7-7d90-4f52-a159-edf4cafbb599","type":"response"} |
setFinalDocHash
establece el hash final del documento que se va a firmar.request
"data" contiene un campo "darray" que es una matriz JSON de números, cada uno de los cuales es un octeto del hash final del documento.
reply
"datos" contiene un "ret" con el texto "ok".
lazy reply
«type» es “onStaticAppletSignedFinalDocHash” contiene “data” con el campo »value0»
que es una matriz JSON de números, cada uno de los cuales es un octeto de una firma RSA.
start
restablece el estado y responde ok.
La respuesta estática «onStaticAppletLoaded» se envía cuando se completa la operación.
startSigning
inicia un proceso de firma.
request
"data" debe contener
"page", the page of the signature field,
"x", "y", "width", "height", the position of the signature field in inch/72
where"y" is the upper border from top
"x" is the left border from left
"resolution" tells with how many dots per inch the page will be rendered
and sent as a reply to "onStaticAppletGetImage".«page», la página del campo de firma,
«x», “y”, “width”, “height”, la posición del campo de firma en pulgadas/72
donde«y» es el borde superior desde arriba
«x» es el borde izquierdo desde la izquierda
«resolution» indica con cuántos puntos por pulgada se mostrará la página
y se envía como respuesta a «onStaticAppletGetImage».
"data" may contain
"withHashDialog" to change whether to sign the final doc hash with the hash dialog on the pad,
"signatureTimeout" to change the signature timeout in ms, the special value zero(0) means infinite.
"data" puede contener "config" que puede contener
el «cryptoId» a utilizar con el pad seleccionado
«signatureImageIntervalMillis» para cambiar el intervalo del flujo de imágenes,
«signMode» que puede ser
«inDoc»
«standard»,
«afterSignMode» que puede ser
«noModeChange» que puede ser
«documentViewing»,
«customerLogo»
«textLines» que contiene una secuencia de pares clave-valor,
las claves son [0-9]+, los valores son líneas de texto que se mostrarán en la almohadilla;«buttonConfigs», desde la versión 2.2.0, una matriz de configuraciones de botones, para cambiar los botones.
reply
"data" contiene un "ret" con el texto "ok".
Respuestas estáticas
«onStaticAppletCaptureStarted», se envía cuando el firmante comienza a firmar.
«onStaticAppletGetImage», se envía cuando el PadConnector requiere una imagen.
«onStaticAppletSignatureRepeat», se envía cuando se debe repetir la firma.
«onStaticAppletSignatureFinished» cuando la firma ha finalizado, ya sea mediante
un mensaje «finishSigning» del cliente, o
un clic en «OK» en la tableta de firma, o
un tiempo de espera después de que el firmante haya dejado de dibujar.
«onStaticAppletSignatureCancel» se envía cuando se ha cancelado la firma haciendo clic en el botón Cancelar del pad.
«onStaticAppletError» se envía en caso de error. Si el pad se ha desconectado, contiene «data» con «value0» «DISCONNECT».
Observaciones
Con Tabletas de firma de color, esto utiliza el modo de inicio de sesión en el documento, si
no se utiliza el campo «config» y se ha llamado antes a «startViewing» o
el campo «config» se utiliza con «signMode» siendo «inDoc».
Se utilizará el modo de firma estándar si antes se ha llamado a «start» o «stopSigning».
Antes de responder a la petición «setFinalDocHash» con la respuesta «onStaticAppletSignedFinalDocHash»,
el PC puede cambiar el pad a otro modo si se ha dado «afteSignMode».
Si «config» estaba ausente, el PC cambia el pad al modo customerLogo.
startViewing
inicia un proceso de visualización de documentos. Los dispositivos compatibles pueden mostrar páginas de documentos.
request
"data" puede contener
«pages» con un número que es el número de páginas.
«buttonConfigs», desde v2.2.0, una matriz de configuraciones de botones, para cambiar los botones.
reply
"Ok".
lazy reply
"onStaticAppletGetImage" se envía cuando el PadConnector requiere una imagen.
stopSigning
detiene un proceso de firma.
«data» puede contener “showManufacturerLogo”, un booleano que indica si el pad debe cambiar al modo de logotipo del fabricante, también conocido como modo de logotipo del cliente, también conocido como modo de espera.