Funciones batch de Onesait Editran/FF

Editran/FF realiza las operaciones de firma y verificación a través de procedimientos batch que usualmente se asocian al procedimiento previo a emisión y posterior a recepción de Editran.

Procedimientos de Onesait Editran/FF

Los procedimientos que se suministran y que se pondrán en la sesión de presentación que requiera la firma de ficheros son:

  • ZTBFP1 – Paso A1P: carga/envío de los ficheros firmados

Paso01: firma de ficheros

//      PROC ORIGEN=,FUNCION=,L0=L00,                                  
//           L1=,L2=,R1=,R2=,AP=,PR=,LF=S,FV=F                         
//*--------------------------------------------------------------------
//* INDRA *                                                            
//*--------------------------------------------------------------------
//*   PROCEDIMIENTO PREVIO A LA EMISION DE EDITRAN/FF                 *
//*--------------------------------------------------------------------
//* EDITRAN/G                                                          
//*  DATOS:                                                           *
//*      ORIGEN (O=OPERADOR,E=EDITRAN,A=JCL APLICACION) --->  1 BYTE  *
//*                                                                   *
//*      FUNCION (01=CARGA DE EMISION DE PRESENTACION,                *
//*               03=EMISION DE PRESENTACION)          ---->  2 BYTES *
//*                                                                   *
//*      SESION-PRESENTACION:                                         *
//*        CODIGO LOCAL L1  ------------------------------->  6 BYTES *
//*                     L2  ------------------------------->  3 BYTES *
//*        REMOTO       R1  ------------------------------->  6 BYTES *
//*                     R2  ------------------------------->  3 BYTES *
//*        APLICACION   PR  ------------------------------->  6 BYTES *
//*                                                                   *
//*      SESION-TRASMISION (EDITRAN/P):                               *
//*        APLICACION   AP  ------------------------------->  6 BYTES *
//*                                                  TOTAL = 33 BYTES *
//*      LISTA FICHEROS (S) OBLIGATORIA:                               
//*                     LF  --------------------------------> 1 BYTE  *
//*      ALIAS ENTORNO LOCAL (PARA USOS PARTICULARES)                 *
//*                     L0  --------------------------------> 3 BYTES  
//*                                                                    
//* EDITRAN/FF                                                         
//*      FIRMA DE DATOS (F=FIRMA FICHEROS, V=VERIFICA FIRMA)           
//*                     FV  --------------------------------> 1 BYTE   
//*--------------------------------------------------------------------
//* PASO01- PASO DE FIRMA DE FICHEROS).                                
//* SI LEE LA SESION Y NO SE TRATA DE SESION FF, ACABA CON RC=01       
//*--------------------------------------------------------------------
//*--------------------------------------------------------------------
//PASO01 EXEC PGM=ZTBFBEFF,                                            
//             PARM='&ORIGEN&FUNCION&L1&L2&R1&R2&AP&FV&PR/CBLQ(ON)',   
//             REGION=0M,TIME=1440                                     
//*TEPLIB   DD DSN=KI.EGDI.ZTBP.LOADE,DISP=SHR                         
//STEPLIB   DD DSN=KI.EIDA.LOAD,DISP=SHR                               
//          DD DSN=KI.EGDI.LOAD,DISP=SHR                               
//          DD DSN=IMSP.SDFSRESL,DISP=SHR                              
//SYSTCPD   DD DSN=SW.TCPIP.SEZAPARM(TCPDATB4),DISP=SHR                
//ZTBFF032  DD DSN=KI.EGDI.ZTBF.JCLS(ZTBFF032),DISP=SHR                
//ZTBFFLOG  DD SYSOUT=*                                                
//SYSOUT    DD SYSOUT=*                                                
//SYSPRINT  DD SYSOUT=*                                                
//CEEDUMP   DD SYSOUT=*                                                
//ZTBGFCAR  DD DSN=KI.EGDI.&L0..R&R1..R&R2..A&PR..ZTBGFCAR,DISP=SHR    
//ZTBFFCAR  DD DSN=&&ZTBFFCAR,DISP=(NEW,PASS,DELETE),                  
//             DCB=(RECFM=FB,LRECL=80),                                
//             SPACE=(TRK,(500,50),RLSE)                               
//*--------------------------------------------------------------------
//* A1P. CARGA DE EDITRAN                                              
//*--------------------------------------------------------------------
//A1P     EXEC PGM=ZTBGB110,COND=(0,NE),REGION=0M,TIME=1440,           
//             PARM='&ORIGEN&FUNCION&L1&L2&R1&R2&PR&AP&LF/CBLQDA(ON)'  
//*TEPLIB   DD DSN=KI.EGDI.ZTBP.LOADE,DISP=SHR                         
//STEPLIB   DD DSN=KI.EIDA.LOAD,DISP=SHR                               
//          DD DSN=KI.EGDI.LOAD,DISP=SHR                               
//          DD DSN=IMSP.SDFSRESL,DISP=SHR                              
//          DD DSN=KI.EGDC.ZTBP.LOAD.ICSF,DISP=SHR                     
//ZTBGFLOG  DD SYSOUT=*                                                
//ZTBGF032  DD DSN=KI.EGDI.ZTBG.ZTBGF032,DISP=SHR                      
//ZTBGFLIS  DD SYSOUT=*                                                
//ZTBGFMSJ  DD SYSOUT=*                                                
//ZTBGFPRI  DD SYSOUT=*,DCB=(BLKSIZE=105)                              
//ZTBGFINT  DD SYSOUT=(H,INTRDR),DCB=(BLKSIZE=80)                      
//ZTBGFTCO  DD DSN=KI.EGDI.ZTBG.ZTBGFTCO,DISP=SHR                      
//CEEDUMP   DD SYSOUT=*                                                
//SYSOUT    DD SYSOUT=*                                                
//ZTBGFCAR  DD DSN=&&ZTBFFCAR,DISP=(OLD,PASS,DELETE)                   
//*                                                                    
//      SET LOCAL0=&L0                          
  • ZTBFP4 – Paso A4P: descarga de los ficheros recibidos

Paso01: verificación de los ficheros firmados

Paso02: adaptación del fichero de datos una vez separado de la firma

Los resultados más significativos con los que pueden finalizar los procesos de tratamiento de firma son:

RDO

Comentario

01

Verificación de firma con errores, se debe revisar el fichero ZTBFFSAL

06

No se requiere realizar el proceso de adaptación de ficheros

08

Error en verificación de firma: DOCUMENTO MODIFICADO

13

Error al abrir un fichero en MVS

14

Error al cerrar un fichero en MVS

15

Error al leer un fichero en MVS

16

Error al escribir en un fichero en MVS

17

Error al rescribir en un fichero en MVS

18

Error al borrar el fichero

19

Error al alocar un fichero

20

Error al desalocar un fichero

21

Parámetros de entrada incorrectos

22

Error al acceder a la B.D.

23

No hay ningún fichero de aplicación catalogado.

24

Número de ficheros de aplicación excede del máximo permitido

25

Fichero de aplicación no catalogado.

26

No existe registro de entorno en EDITRAN/FF

27

No existe aplicación en EDITRAN/FF

28

No existe sesión de presentación en EDITRAN

37

Error en el servicio de firma.

Posible error de comunicación (revise mensajes en SYSOUT)

38

La aplicación de envío de ficheros firmados no tiene asociado ningún usuario que pueda firmar

39

Lista de ficheros de entrada vacía.

42

Error de catalogación

43

No existen usuarios locales que puedan firmar los envíos

45

Error en el proceso servidor al generar la firma

46

Error en el proceso servidor al validar la firma

47

Error al validar la firma

48

No se han encontrado todos los signatarios requeridos

49

No se han implementado reglas de validación de firmantes

51

Con tipo de firma ‘D’, no encuentra el fichero de Datos

52

Con tipo de firma ‘D’, no encuentra el fichero de Firma

53

No se puede realizar contrafirma en modo PKCS#7

55

Parámetro delimitadores erróneo en aplicación EDITRAN/FF

56

Error delimitadores de registro no coinciden

58

Errores en la configuración del perfil de aplicación EDITRAN/FF

61

No existe usuario local para realizar la contrafirma

65

El fichero de aplicación existe y no está permitido borrarlo

Fichero de salida a la aplicación

Se crea fichero (ZTBFFSAL) FB de 300. Indicará como fue la verificación de firmas para cada fichero recibido, así como características de las firmas. Tiene 2 tipos de registros:

Nivel

Nombre

Long.

Fmto.

Descripción

1

Registro ZTBFFSAL

Alfn.

Registros de TIPO 01.

2

Tipo de registros

2

Alfn.

01-Registros referentes a ficheros tratados y a su resultado de validación

2

Dos puntos

1

Alfn.

Valor: ‘:’

2

Código de retorno

4

Num

0000- Verificación de la firma correctamente

0012- Autoridad certificadora no válida

0013- Certificado(s) revocado(s). No implementado aún

0014- Certificado(s) caducado(2)

0015- Documento modificado

0016- Firmante(s) no autorizados en la cuenta. Esto es una validación posterior de la firma contra los perfiles de Editran/FF

2

Dos puntos

1

Alfn.

Valor: ‘:’

2

Dsname Formateado final

44

Alfn.

Dsname del fichero formateado y traducido final, a tratar por la aplicación.

2

Dos puntos

1

Alfn.

Valor: ‘:’

2

Dsname descargado ASCII

44

Alfn.

Dsname del fichero ASCII, extraído del XML y con las firmas también extraídas.

2

Dos puntos

1

Alfn.

Valor: ‘:’

2

Dsname descargado por Editran

44

Alfn.

Dsname del fichero descargado por Editran, cuyo contenido es el XML que se ha tratado.

2

Dos puntos

1

Alfn.

Valor: ‘:’

2

Mensaje de error

80

Alfn.

Mensaje

Si rc=0000, Proceso de firma correcto (sin mensaje)

Si rc=xxxx, mensaje de error oportuno

2

Area reserva

77

Alfn.

Area de reserva

Nivel

Nombre

Long.

Fmto.

Descripción

1

Registro ZTBFFSAL

Alfn.

Registros de TIPO 02.

2

Tipo de registros

2

Alfn.

02-Registros referentes a firmantes por fichero. Por cada registro tipo 1, habrá tantos registros de tipo 2, como firmantes contenga el fichero firmado.

2

Dos puntos

1

Alfn.

Valor: ‘:’

2

Area de reserva

4

Alfn.

2

Dos puntos

1

Alfn.

Valor: ‘:’

2

Dsname Formateado final

44

Alfn.

Dsname del fichero formateado y traducido final, a tratar por la aplicación.

2

Dos puntos

1

Alfn.

Valor: ‘:’

2

Datos del DN firmante

247

Alfn.

Incorporación del DN Remoto

Para facilitar la cumplimentación del DN de un certificado remoto, que actualmente se realiza a través de la pantalla, se ha creado un JCL que lo incorpora desde un fichero que lo contenga, ZTBFJCDN.

Los datos de entrada son:

  • SYSIN: Código Remoto y nombre del Usuario Remoto propietario del certificado

  • Fichero que contiene el DN: formato FB y longitud de registro 280 (ZTBFFCDN).

Este fichero es el que se proporcionará en el script obtén_dn.sh para guardar el DN del certificado.

Fichero de salida JSON

Se crea fichero (ZTBFFJSN) VB de 396. Este fichero es el resultado de la recepción de una presentación. La información que contiene es referente a dicha recepción. Por tanto, vendrá informada la aplicación (sesión de presentación), el número de firmas obligatorias, los grupos y los usuarios.

La nomenclatura del fichero es la siguiente:

PrefInstalacion.JobName.JobId.BRx. ZTBFFJSN

Nivel

Long.

Fmto.

Descripción

PrefInstalacion

11

Alfn.

Es el prefijo de la instalación del entorno local de EDITRAN/FF

JobName

8

Alfn.

Nombre del JOB (ej. KIEDRCT7)

JobId

8

Alfn.

Id del JOB que se lanza (ej. JOB03039)

BRx

3

Alfn.

La x puede tomar tres valores diferentes 1, 2 o 3 dependiendo del modo de firma:

1. Attached

2. Detached

3. Concatenado

Última actualización