Fazer download em pdf
Fazer download em pdf
Você está na página 1de 4
Binlotece Compartihada para Pinpad-ExpacticasSo Detalhada {4.08 (25/Abr/2033) PP_StartGetPIN © conjunto PP_StartGetPIN / PP_GetPIN (conforme descrito no item 3.1.4- FungGes “blocantes") captura a senha do usuario (PIN) ou dados de identificacéo positiva e retorna um bloco de dados criptografados segundo o método Master Key / Working Key (DES ou 3DES) ou DUKPT (DES ou 3DES). Conforme colocado, além da captura de PIN convencional, as funges prevéem a entrada de uma seqéncia de mais de um dado, de maneira a ser fazer “identificacio positiva” © Paraa criptografia de PIN, deve-se considerar somente um Ginico dado a ser capturado. © Paraaidentificaco positiva, pode-se considerar mais de um dado a ser capturado, sendo que estes s8o concatenados para a geracao do PIN-block. Caso o resultado tenha menos do que 4 digitos, este é completado com zeros 8 esquerda. Caso tenhia mais do que 12, os digitos a direita devem ser ignorados Durante a digitacao no pinpad, a mensagem de 2x16 fornecida néo deve ser alterada ou sobreposta, sendo que os dados digitados devem aparecer na forma de asteriscos abaixo damensagem linha 1 da meg> Sintaxe: __int PP_StartGetPIN (INPUT psinput); Entradas: psinput String ASCII de caracteres com o seguinte formato: Posicio | Formato | Descricio oon Ni | Modo de criptografia “0” - Master Key / Working DES (8 bytes) “1” - Master Key / Working 3DES (16 bytes) “2” - DUKPT DES 3" - DUKPT 3DES 002-003] N2 _| indice da Master Key ou do registra de tratamento DUKPT. 004-035 ] 32(816) | Paraosmodos "0" e “1”, é Working Key (criptografada pela Master Key). No modo “0”, somente os 8 primeiros bytes s8o utilizadas. Nosmodos “2” 3" este campo é ignorado. 036-037] N2__| Tamanho do PAN (de “13” a"19"). Caso 0 PAN tenha menos de 13 digitos, ele devera ser completado com zeros & esquerda 038-056 | A19 __| PAN, alinhado & esquerda (espacos 8 dreita. Seo pinpad estiver em modo “Comunicacéo Segura’, o PAN deve ser codificado usando-se DES/3DES Reverso com a chave WKrax (ver item 44) 087 N1___| Quantidade de dados a serem capturados (n) ‘Copyright 2002-2013 © Rede Amex /Redacard/ Clo ys Binlotece Compartihada para Pinpad-ExpacticasSo Detalhada {4.08 (25/Abr/2033) Descricgo Tamanho minimo do dado 1 Formato ose-0s9 | N2 060-061] _N2 Tamanho maximo do dado 1 062-093] A32, ‘Mensagem de 2 linhas x 16 colunas para apresentacio no momento do pedido do dado 1 osa-095 | _N2 Tamanho minimo do dado 2 096-097| N2 Tamanho maximo do dado 2 o9e-129] A32, ‘Mensagem de 2 linhas x 16 colunas para apresentacio no momento do pedido do dado 2. Tamanho minimo do dado n Tamanho maximo do dado n fer Na. fer Na. 27-2? | A32 ‘Mensagem de 2 linhas x 16 colunas para apresentacéo no momento do pedido do dado n, Saidas: nfo ha. Retorne: PP_OK Processo iniciado com sucesso. PP_GetPIN deve ser chamado para se obter os resultados. PP_NOTOPEN. Fungo PP_Open no foi previamente chamada, PP_INVPARM Parametro invélido passado 8 funcao. PP_PORTERR Erro de comunicagio: porta serial do pinpad provavelmente ocupada, PP_COMMERR Erro de comunicagéo: pinpad provavelmente desconectado ou problemas com a interface serial. ‘Copyright 2002-2013 © Rede Amex /Redacard/ Clo ars Binlotece Compartihada para Pinpad-ExpacticasSo Detalhada {4.08 (25/Abr/2033) PP_GetPIN Esta fungdo finaliza o proceso iniciado por PP_StartGetPIN (conforme descrito no item 3.1.4- Fungées “blocantes’), devendo ser chamada constantemente enquanto retornar PP_PROCESSING ou PP_NOTIFY. Enquanto nessa situago, o processo pode ser cancelado pelo “checkout” através da fungdo PP_Abort Durante o processamento so enviadas mensagens de notificago contendo as préprias descricdes dos dados sendo requeridos (que so pardmetros de entrada de PP_StartGetPIN), a partir da captura do segundo dado. Portanto nao ha mensagem de notificagao quando somente um dado é requerido, ‘como no caso de captura simples de PIN. Isso ¢ feito para avisar o operador do checkout, de maneira a auxiliar 0 portador do carta na entrada dos dados de identificacao positiva. IMPORTANTE: 0 pinpad sempre apaga o display apés a captura de PIN, seja esta bem ou mal sucedida, Sintaxe: int PP_GetPIN (OUTPUT psOutput, OUTPUT psMsgNotify); Entradas: nfo ha. Saidas psOutput String ASCII de 36 caracteres com o seguinte formato: Formato 01-016 | _H16(88) _| PIN criptografado 017-036 | #20(810) | Numero de série da chave (Key Serial Number), somente no caso de DUKPT. Para Master/Working Key, este campo ¢ ignorado. PSMsgNotify Mensagem de 32 caracteres a ser apresentada no “checkout” caso a funcio retorne PP_NOTIFY. Retorne: PP_OK PIN digitado e criptografado com sucesso - os resultados esto em psOutput. PP_INVCALL Fungo PP_StartGetPIN nfo foi previamente chamada, PP_PROCESSING ........£m processamento - deve-se chamar PP_GetPIN novamente ou PP_Abort para finalizar. PP_NOTIFY Em processamento - deve-se apresentar no “checkout” amensagem psMsgNotify e depois chamar PP_GetPIN novamente ou PP_Abort para finalizar. PP_NOTOPEN. Fungo PP_Open no foi previamente chamada PP_PORTERR Erro de comunicagéo: porta serial do pinpad provavelmente ocupada, PP_COMMERR Erro de comunicagio: pinpad provavelmente desconectado ou problemas com a interface serial. PP_CANCEL Operaco cancelada PP_ERRPIN no esta presente no pinpad ‘Copyright 2002-2013 © Rede Amex /Redacard/ Clo as Binlotece Compartihada para Pinpad-ExpacticasSo Detalhada $1.08 (25/Abr/2033) Exemplo: int istat; char sInput(93], sOutput(36], sMsgNotity[32]; J* Testa a apresentacao de PIN con a Master Key da Cielo: Modo de criptografia: “0” (DES) Master Key: “09” (Cielo) Working Key: “9RCF04325R0B1960"" Mimero Cartao (PAN): “4391998410650011" Mensagem: “DIGITE SUR SENHA” ” mencpy (sInput, *OOSSACFO4325A0B7SeD0000000000000000" “164391998410650011+++" ~10412D IG TE SUA* SENHA +, 93)5 4iStat = PP StartGetPIN (sInput); if (4Stat T= PP_oK) return istat; do ( iStat = PP_GetPIN (sdutput, if (istat == PP_NOTIFY) MostraMsgCheckout (sMsgNotity) ; if (iStat == PP_PROCESSING << TestaCancelamento () PP Rbort (); return APP_CANCEL; isgNotify) ; ) ) while (istat PP_PROCESSING || iStat if (4Stat != PP_oK) return istat; /* A partir daqui, se o PIN digitado for “1234”, sOuty conter o resultado: “3165825079 6DE 340000000000: ‘Copyright 2002-2013 © Rede Amex /Redacard/ Clo ars

Você também pode gostar