Home
Manual técnico do Middleware Cartão de Cidadão
Contents
1. 21 4 Documenta o elD Lil APL auinsiisito fudida iiaisaniapa dah ida ada aaa 22 4 1 Gest o de vers es e compatibilidade ssssesesssesesesessesssssrrrerrsrsrsreseses 22 Edo mserc o de PIN isnin nis RE EAE A AEREI 22 4 3 Aplica o Multi threaded sssseseseseeesesesresssssrereresesrsesnestsrsreersrsesrsrenesre 22 44 Organiza o DE a la 23 441 Fun es de inicializa o e t rmino ccc eretas 23 44 2 Fun es Identidade ierereeeeeeeeeeereneereeeereeerenerennesa 23 4 4 3 Fun es gen ricas de alto n vel asas meses dora rica isena hes 24 4AA W n es de SCQUIANCA apare as E ai en 24 444 1 Autenticidade dos dados do cart o 24 AAA SESS ES SEJUTAS sunt asas da Nn EEK EEr r EAA AEAT ENEEK R ANEETA 25 4 4 4 3 Todas as fun es de seguran a 26 44 5 Fun es de altera o do cart o eereeeeeeeeeranee 26 AS Detalhesda API C G F santa ab a 27 451 PTEID AcHy tencensano n R A 27 As PREIN AP CancelCapPnChangel cespeseaimaaaenvasatinos andina 27 4 5 3 PTEID_CAP_ChangeCapPin esssssseeesiesseirrisesierisrsrrsrrresrsrerrsrsses 28 45 4 PTEID CAP GetCapPinChangeProgress 28 450 PREID CAP SsetCapPnChangelalback ssemminontspaisriseisi a 29 45 6 PTEID_CVC_Authenticate eeseeseeseersesiseseseresresesressseesseresissrereersses 29 4 5 7 PTEID_CVC_Authenticate SMIOL n se 30 458 JIBDEVO Cod a ian E A i d 31 459 PI
2. 4 5 39 PTEID SendAPDU long PTEID SendAPDU const unsigned char ucRequest unsigned long ulRequestLen unsigned char ucResponse unsigned long ulResponseLen Enviar uma APDU Application Protocol Data Unit para o cart o e receber a respetiva resposta Par metros ucRequest in APDU a enviar par o cart o ulRequestLen in Comprimento da APDU em bytes ucResponse out Espa o para a APDU de resposta ulResponseLen in out Comprimento da APDU de resposta A aplica o deve colocar o tamanho do buffer reservado para a resposta A biblioteca colocar nesta vari vel o tamanho efetivo da resposta 4 5 40 PTEID SetChange AddressCallback void PTEID SetChangeAddressCallback void USERENTRY callback tAddressChangeState state Atribui ao middleware uma fun o de callback definida pelo utilizador para 2 ser chamada durante a altera o do morada Esta fun o invocada pelo middleware de cada vez que o estado da opera o se altera Manual t cnico do Middleware Cart o de Cidad o 1 60 0 45 53 Outubro 2015 Re CART O DE CIDAD O 0 000 4 5 41 PTEID SetSODCAs long PTEID SetSODCAS PTEID Certifs Certifs Especificar os certificados raiz que s o usados para assinar os certificados Document Signer no ficheiro SOD O ficheiro SOD no cart o est assinado por um certificado Document Signer e este certificado est tamb m no SOD Por omiss o esta biblioteca l os ce
3. Manual t cnico do Middleware Cart o de Cidad o 1 60 0 35 53 Outubro 2015 KG CART O DE CIDAD O 0 000 4 5 17 PTEID CVC WriteSOD long PTEID CVC WriteSOD unsigned long ulFileOffset const unsigned char in unsigned long inlen unsigned long ulMode Esta fun o chama PTEID CVC WrriteFile com o ficheiro SOD file como caminho Par metros ulFileOffset in Escolher qual o offset no ficheiro por onde iniciar a escrita in in O conte do a escrever no ficheiro inlen in O n mero de bytes a escrever ulMode in Definir como CVC WRITE MODE PAD para preencher o ficheiro com zeros se ulFileOffset inlen for menor que o comprimento do ficheiro 4 5 18 PTEID CancelChange Address void PTEID CancelChangeAddress Cancelar uma opera o de altera o de morada que esteja em curso 4 5 19 PTEID ChangeAddress long PTEID ChangeAddress const char csServer const unsigned char ucServerCaCert unsigned long ulServerCaCertLen tProxyInfo proxyInfo const char csSecretCode const char csProcess Iniciar uma altera o de morada A fun o devolve c digos de erro gen ricos Para saber mais detalhes sobre um erro podem ser utilizadas as fun es PTEID CAP GetChangeAddressProgress PTEID GetLastWebErrorCode e PTEID GetLasWebErrorMessage Manual t cnico do Middleware Cart o de Cidad o 1 60 0 36 53 Outubro 2015 KG CART O DE CIDAD O 0 000 Par metros csServer
4. PTEID CVC Authenticate No caso de um cart o 1 0 1 as fun es s o as seguintes PTEID CVC Init PTEID CVC R ValidateSignature PTEID CVC Init SM101 PTEID CVC Authenticate SM101 Manual t cnico do Middleware Cart o de Cidad o 1 60 0 25 53 Outubro 2015 KG CART O DE CIDAD O 0 000 444 3 Todas as fun es de seguran a PTEID GetCard AuthenticationKey PTEID CVC Init PTEID CVC Authenticate PTEID CVC Init SM101 PTEID CVC Authenticate SM101 PTEID CVC ReadFile PTEID CVC WriteFile PTEID CVC GetAddr PTEID CVC WriteAddr PTEID CVC WriteSOD PTEID CVCR Init PTEID CVC R DH Auth PTEID CVC R ValidateSignature 4 4 5 Fun es de altera o do cart o O utilizador tem acesso a duas opera es de altera o do cart o s o estas a altera o da morada e do PIN da applet EMV CAP Ambas as opera es precisam de uma liga o Internet para estabelecer uma liga o segura entre o servidor e o cart o As fun es que permitem a altera o de dados do cart o s o PTEID ChangeAddress PTEID GetChangeAddressProgress PTEID SetChangeAddressCallback PTEID CancelChangeAddress PTEID CAP ChangeCapPin PTEID CAP GetCapPinChangeProgress PTEID CAP SetCapPinChangeCallback PTEID CAP CancelCapPinChange PTEID GetLastWebErrorCode PTEID GetLastWebErrorMessage Manual t cnico do Middlewa
5. Par metros ucG out O par metro G do algoritmo Diffie Hellman outlenG in out Comprimento do par metro G deve ser 128 ucP out O par metro P do algoritmo Diffie Hellman outlenP in out Comprimento do par metro P deve ser 128 ucQ out O par metro Q do algoritmo Diffie Hellman outlenQ in out Comprimento do par metro Q deve ser 20 Manual t cnico do Middleware Cart o de Cidad o 1 60 0 33 53 Outubro 2015 KG CART O DE CIDAD O 0 000 4 5 13 PTEID CVC R ValidateSignature long PTEID CVC R ValidateSignature const unsigned char pucSignedChallenge unsigned long ulSignedChallengeLen Segundo passo no estabelecimento de uma sess o segura com um cart o de vers o 1 0 1 A aplica o envia para o cart o o challenge assinado para concluir o passo de autentica o com CVC Par metros pucSignedChallenge in O challenge assinado pela aplica o ulSignedChallengeLen in O comprimento do challenge assinado deve ser 128 4 5 14 PTEID CVC ReadFile long PTEID CVC ReadFile unsigned char file int filelen unsigned char out unsigned long outlen Ler os conte dos de um ficheiro sobre uma sess o segura O estabelecimento de uma sess o segura ter de ser efetuado anteriormente Se outlen for menor que os conte dos do ficheiro apenas os bytes outlen ser o lidos Se outlen for maior os conte dos do ficheiro s o devolvidos sem erro Par metros file in O caminho
6. Input on pinpad cancelled 5 Timout returned from pinpad 6 The two PINs did not match 7 Message too long on pinpad 8 Invalid PIN length 9 Library not initialized 10 An internal error has been is unknown gi Return codes da biblioteca open source subjacente pteidlibopensc Licen a LGPL Erros relativos a opera es do leitor define SC ERROR READER tdefine SC ERROR NO READERS FOUND tdefine SC ERROR SLOT NOT FOUND tdefine SC ERROR SLOT ALREADY CONNECTED tdefine SC ERROR CARD NOT PRESENT tdefine SC ERROR CARD REMOVED tdefine SC ERROR CARD RESET tdefine SC ERROR TRANSMIT FAILED tdefine SC ERROR KEYPAD TIMEOUT tdefine SC ERROR KEYPAD CANCELLED tdefine SC ERROR KEYPAD PIN MISMATCH tdefine SC ERROR KEYPAD MSG TOO LONG tdefine SC ERROR EVENT TIMEOUT define SC ERROR CARD UNRESPONSIVE tdefine SC ERROR READER DETACHED tdefine SC ERROR READER REATTACHED 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 Resultantes de um comando de cart o ou relacionado com o cart o tdefine SC ERROR CARD CMD FAILED tdefine SC ERROR FILE NOT FOUND tdefine SC ERROR RECORD NOT FOUND tdefine SC ERROR CLASS NOT SUPPORTED tdefine SC ERROR INS NOT SUPPORTED tdefine SC ERROR INCORRECT PARAMETERS Manual t cnico do Middleware Cart o de Cidad o 1 60 0 52 53 1200 1201 1202 1203 1204 1205 Outubro 2015 KG CART O DE CIDAD
7. O 0 000 tdefine SC ERROR WRONG LENGTH 1206 tdefine SC ERROR MEMORY FAILURE 1207 define SC ERROR NO CARD SUPPORT 1208 tdefine SC ERROR NOT ALLOWED 1209 tdefine SC ERROR INVALID CARD 1210 tdefine SC ERROR SECURITY STATUS NOT SATISFIED tdefine SC ERROR AUTH METHOD BLOCKED 1212 define SC ERROR UNKNOWN DATA RECEIVED 1213 tdefine SC ERROR PIN CODE INCORRECT 1214 define SC ERROR FILE ALREADY EXISTS 1215 1211 Devolvidos pela biblioteca OpenSC quando invocada com argumentos inv lidos define SC_ERROR_INVALID_ARGUMENTS 1300 define SC ERROR CMD TOO SHORT 1301 tdefine SC ERROR CMD TOO LONG 1302 tdefine SC ERROR BUFFER TOO SMALL 1303 tdefine SC ERROR INVALID PIN LENGTH 1304 Resultantes de opera es internas da biblioteca OpenSC fdefine SC ERROR INTERNAL 1400 tdefine SC ERROR INVALID ASN1 OBJECT 1401 tdefine SC ERROR ASN1 OBJECT NOT FOUND 1402 tdefine SC ERROR ASN1T END OF CONTENTS 1403 tdefine SC ERROR OUT OF MEMORY 1404 tdefine SC ERROR TOO MANY OBJECTS 1405 tdefine SC ERROR OBJECT NOT VALID 1406 tdefine SC ERROR OBJECT NOT FOUND 1407 tdefine SC ERROR NOT SUPPORTED 1408 tdefine SC ERROR PASSPHRASE REQUIRED 1409 tdefine SC ERROR EXTRACTABLE KEY 1410 tdefine SC ERROR DECRYPT FAILED 1411 define SC ERROR WRONG PADDING 1412 define SC ERROR WRONG CARD 1413 Relacionados com o PKCS 15 init define SC_ERROR_PKCS15INIT 1500 define SC ERROR SYNTAX ERROR 1501 tdefine SC ER
8. base data Porque a aplica o e muito menos o utilizador n o pode ter ideia do que est a ser assinado esta opera o intrinsecamente arriscada 2 2 11 CryptGetHashParam BOOL WINAPI CryptGetHashParam HCRYPTHASH hHash DWORD dwParam BYTE pbData DWORD pcbData DWORD dwFlags Esta chamada API implementada com base na documenta o MSDN 2 2 12 CryptExportKey BOOL WINAPI CryptExportKey HCRYPTKEY hKey HCRYPTKEY hExpKey DWORD dwBlobType DWORD dwFlags BYTE pbData DWORD pcbDataLen Esta fun o pode ser usada para exportar a chave p blica associada ao par metro hKey O handle de uma chave p blica pode ser obtido atrav s de uma chamada fun o CryptGetUserKey Visto que as chaves privadas est o guardadas num smartcard e a exporta o destas n o permitida apenas PUBLICKEYBLOB pode ser definido como dwBlobType Devido ao facto de Manual t cnico do Middleware Cart o de Cidad o 1 60 0 13 53 Outubro 2015 KG CART O DE CIDAD O 0 000 apenas as chaves p blicas poderem ser exportadas o par metro hExpKey n o utilizado e deve portanto ser definido como NULL A chave p blica retornada como par metro pbData Para obter o comprimento dos dados o par metro pbData deve ser definido como NULL O comprimento dos dados que ser devolvido ent o colocado no par metro pcbDataLen Se o buffer para esta fun o n o for suficientemente grande ser devolvido o erro ERROR MO
9. o ser alocada nenhuma mem ria para o registo PTEID RSAPublicKey por isso os campos modulus e exponent dever o ter mem ria suficiente alocada para guardar os respetivos valores e a quantidade de mem ria deve ser dada nos campos length Por exemplo unsigned char modulus 128 unsigned char exponent 3 PTEID RSAPublicKkey CVCRootKey f modulus sizeof modulus exponent sizeof exponent Ap s retorno bem sucedido os campos modulusLength e exponentLenght ir o conter os comprimentos corretos Par metros pCardAuthPubkKey in O endere o de um registo PTEID RSAPublicKey 4 5 25 PTEID GetCardType tCardType PTEID GetCardType Devolve a vers o do cart o Os valores retornados s o CARD TYPE ERR Tipo de cart o desconhecido Manual t cnico do Middleware Cart o de Cidad o 1 60 0 39 53 Outubro 2015 KG CART O DE CIDAD O 0 000 CARD TYPE IASO7 Cart o de vers o 0 7 CARD TYPE IAS101 Cart o de vers o 1 0 1 4 5 26 PTEID GetCertificates long PTEID GetCertificates PTEID Certifs Certifs Ler todos os certificados pessoais e de CA Par metros Certifs out o endere o do registo PTEID Certifs 4 5 27 PTEID GetChangeAddressProgress tAddressChangeState PTEID GetChangeAddressProgress Permite saber o estado de uma opera o de altera o de morada enquanto esta decorre Os valores poss veis de retorno s o ADDR INITIALISING A inicializar a altera o de
10. usr local lib Este documento fornece informa o para programadores sobre como desenvolver aplica es com base nestas interfaces Para informa es ou guias sobre como usar estas bibliotecas por favor consulte os Manuais de Utilizador respetivos Adicionalmente as seguintes aplica es est o presentes no middleware eID GUI Esta aplica o pode ser usada para ver e gerir a informa o no cart o elD Ler e mostrar informa o sobre o cidad o e fotografia Ler e mostrar a morada do cidad o Ler os certificados do governo e do cidad o Verificar em linha a validade dos certificados Registar os certificados do governo e do cidad o apenas Windows XP Gest o de c digos PIN Testar o PIN Alterar o PIN Precisa de liga o Internet para alterar o PIN de autentica o Gerir a Pasta Pessoal Ver informa o espec fica de minist rios Imprimir a informa o do cart o para PDF ou impressora Alterar a morada no cart o Precisa de liga o Internet Manual t cnico do Middleware Cart o de Cidad o 1 60 0 5 53 Outubro 2015 Re CART O DE CIDAD O ee oo Tray applet 2 Esta aplica o instalada como um cone da rea de notifica o No Windows aparece normalmente no canto inferior direito do ecr no Mac no canto superior direito do ecr Quando ativada o utilizador pode desativ la verifica se um cart o eID est inserido Ap s inserir o cart o ser mostrada a fotog
11. Pinld in O identificador do PIN de Autentica o ver o registo PTEID Pins 4 5 48 PTEID WriteFile inOffset long PTEID WriteFile unsigned char file int filelen unsigned char in unsigned long inOffset unsigned long inlen unsigned char Pinld Escrever dados para um ficheiro no cart o especificando o ndice a partir do qual se pretende escrever os dados Manual t cnico do Middleware Cart o de Cidad o 1 60 0 50 53 Outubro 2015 KG CART O DE CIDAD O 0 000 Se for fornecida uma refer ncia PIN este ser solicitado e verificado se necess rio verifica o just in time Esta fun o aplica se apenas a escrita no ficheiro Personal Data Par metros file in Um array de bytes contendo o caminho para o ficheiro Ex 0x3F 0x00 0x5F 0x00 OxEF 0x02 para o ficheiro ID filelen in Comprimento do ficheiro em bytes in in Os dados a ser escritos no ficheiro inOffset in O byte a partir do qual se pretende escrever inlen in O comprimento dos dados a escrever Pinld in O identificador do PIN de Autentica o ver o registo PTEID Pins 4 6 Caching de ficheiros Devido ao facto da leitura de ficheiros do cart o ser um processo demorado especialmente em leitores mais lentos certos ficheiros s o guardados no disco r gido quando s o lidos pela primeira vez Alguns ficheiros pkcs15 O ficheiro ID O ficheiro SOD O ficheiro de morada n o cached pois pode vir a mud
12. do ficheiro a ler e g 0x3F 0x00 0x5F 0x00 OxEF 0x05 filelen in O comprimento do caminho do ficheiro ex 6 out out O buffer para armazenar os conte dos do ficheiro outlen out O n mero de bytes a ler n mero de bytes lidos Manual t cnico do Middleware Cart o de Cidad o 1 60 0 34 53 Outubro 2015 KG CART O DE CIDAD O 0 000 4 5 15 PTEID CVC WriteAddr long PTEID CVC WriteAddr const PTEID ADDR AddrData Escrever o ficheiro de morada sobre uma sess o segura O estabelecimento de uma sess o segura ter de ser efetuado anteriormente Par metros AddrData in o endere o de um registo PTEID ADDR 4 5 16 PTEID CVC WriteFile long PTEID CVC WriteFile unsigned char file int filelen unsigned long ulFileOffset const unsigned char in unsigned long inlen unsigned long ulMode Escrever para um ficheiro no cart o sobre uma sess o segura O estabelecimento de uma sess o segura ter de ser efetuado anteriormente Par metros file in O caminho do ficheiro a ler ex 0x3F 0x00 0x5F 0x00 OxEF 0x05 filelen in O comprimento do caminho do ficheiro ex 6 ulFileOffset in Escolher qual o offset no ficheiro por onde iniciar a escrita in in O conte do a escrever no ficheiro inlen in O n mero de bytes a escrever ulMode in Definir como CVC WRITE MODE PAD para preencher o ficheiro com zeros se ulFileOffset inlen for menor que o comprimento do ficheiro
13. um erro a ler um ficheiro do cart o WEB ERR WRITE FILE Ocorreu um erro a escrever um ficheiro no cart o WEB ERR BAD COMMAND O cart o n o compreendeu um comando ou recusa se a execut lo WEB ERR EMPTY RES A resposta do cart o tem tamanho zero WEB ERR DATA SIZE A resposta do cart o tem um tamanho inv lido WEB ERR CARD REMOVED O cart o foi removido durante a opera o WEB ERR CARD COMM O middleware n o consegue comunicar com o cart o WEB ERR OUT OF MEM Manual t cnico do Middleware Cart o de Cidad o 1 60 0 41 53 Outubro 2015 CART O DE CIDAD O 0 000 A mem ria dispon vel para o middleware n o suficiente WEB ERR INTERNAL Erro interno do middleware WEB ERR PARSING Erro a interpretar uma mensagem do servidor WEB ERR MISSING DATA Faltam dados obrigat rios numa mensagem do servidor WEB ERR INVALID HASH O cart o ou o servidor enviaram um hash inv lido 4 5 30 PTEID GetLastWebErrorMessage const char PTEID GetLastWebErrorMessage Permite obter uma mensagem de erro gerado durante a altera o de PIN CAP ou morada para mostrar ao utilizador ou guardar num ficheiro log 4 5 31 PTEID GetPINs long PTEID GetPINS PTEID Pins Pins Devolver os PINs listados nos ficheiros PKCS15 Par metros Pins out O endere o do registo PTEID Pins 4 5 32 PTEID GetPic long PTEID GetPic PTEID PIC PicData Ler a fotografia Par metros PicData out O endere o do reg
14. EXO SEX DA M 1 74 PRT 10 10 1980 0000252 6 ZZ6 28 05 2019 PRT FILIA O PARENTS BRUNO MAMEDE PORTO CORREIA AD LIA CLAUDINA PORTO CORREIA INDICA ES EVENTUAIS NOTES N o pode assinar Sem ID Esq Sem ID Dta Manual t cnico do Middleware Cart o de Cidad o 1 60 0 7 53 Outubro 2015 CART O DE CIDAD O 0 000 2 Documenta o CSP 2 1 Introdu o Para as aplica es Microsoft Office Outlook criado um Cryptographic Service Provider CSP que implementa as opera es criptogr ficas do smartcard Uma aplica o nunca chamar esta implementa o diretamente mas sim atrav s de uma interface Microsoft chamada Crypto API A segunda interface implementada PKCSH11 usada por aplica es n o standard Microsoft Quando uma nova aplica o criada o programador que decide qual das duas interfaces utilizar para oferecer funcionalidade criptogr fica ao utilizador Aplica es n o Microsoft Aplica es Microsoft Crypto API PKCSH11 KA 2 2 A interface Crypto API O Microsoft Cryptographic API 2 0 CryptoAPI permite a programadores de aplica es adicionarem funcionalidade de autentica o assinatura e cifra s suas aplica es baseadas em Win32 Os programadores de aplica es podem usar fun es da CryptoAPI sem necessidade de conhecerem a implementa o subjacente da mesma forma que podem usar uma bi
15. L WINAPI CryptDuplicateHash HCRYPTHASH hHash DWORD pdwReserved DWORD dwFlags HCRYPTHASH phHash Esta chamada API implementada com base na documenta o MSDN 2 2 25 CryptDuplicateKey BOOL WINAPI CryptDuplicateKey HCRYPTKEY hKey DWORD pdwReserved DWORD dwFlags HCRYPTKEY phKey Visto que as chaves e certificados s o guardados no smartcard esta chamada API n o implementada Chamar esta fun o ir gerar o erro E NOTIMPL definido atrav s de SetLastError Manual t cnico do Middleware Cart o de Cidad o 1 60 0 18 53 Outubro 2015 CART O DE CIDAD O 0 000 3 Documenta o PKCSF11 3 1 A interface PKCSH11 A interface PKCS 11 v2 20 utilizada por aplica es n o Microsoft como por exemplo o Firefox Aplica es desenvolvidas podem recorrer a este interface em vez do interface CryptoAPI A interface PKCS 11 por vezes chamada Cryptoki Uma descri o detalhada desta interface est dispon vel no website da RSA Laboratories http www rsasecurity com rsalabs pkcs pkcs 11 3 1 1 Diferen as na autentica o Ao contr rio da filosofia original do PKCS 11 n o existe no Cart o de Cidad o o conceito de login Existem dois PINs que dever o ser verificados antes da utiliza o das respetivas opera es criptogr ficas O PIN de autentica o e o PIN de assinatura Os programadores que desejem tirar partido da implementa o do PKCS 11 para o Cart o d
16. Nota Se utilizar os parametros a address or c cap a aplica o ir correr em mode de teste Manual t cnico do Middleware Cart o de Cidad o 1 60 0 6 53 Outubro 2015 KG CART O DE CIDAD O 0 000 Atrav s dos argumentos poss vel alterar os endere os dos servidores de Altera o de Morada ou Altera o de CAP PIN Caso n o seja especificado um ou ambos os endere os ser o utilizados os endere os de teste por omiss o Servidor de altera o de morada pki teste cartaodecidadao pt 443 Servidor de altera o de CAP PIN paf teste cartaodecidadao pt 443 NOTA Tal como no modo normal para poder ler um cart o de testes os certificados correspondentes dever o ser copiados para a diretoria APPDIRY eidstore certs APPDIR corresponde diretoria onde a aplica o reside ao cart o Quando invocada em modo de teste a aplica o apresenta em fundo uma marca de gua com a palavra Teste para indicar ao utilizador que est em modo de teste e n o em utiliza o normal r Cart o de Cidad o e em TEXT E 2 Cart o Ferramentas Idioma Ajuda or O Identifica o Civil Outros Dados ili Morada IF Certificados C digos PIN Bloco de Notas a CART O DE CIDAD O PORT AL CITIZEN CARD JC 7 7E REPUBLICA PORTUGUESA JRTUGUESE REPUBLIC M APELIDO S SURNAME PORTO CORREIA NOME S GIVEN NAME TIAGO RUI ALTURA HEIGHT S
17. O RD 43 4 534 PTEID Init creenin 43 45 395 PRENDAS ACASO inssin ai 43 45 36 PTEID R adFile esirinnas oenina aai 44 4 537 PTEID ReadSOD saias da iet es asas 44 4 538 PIEDADE ana a 45 4 539 PTEID Send APDU qn o ea R 45 4 5 40 PTEID_SetChangeAddressCallback sssssecensssseaniscemcamasieaezisascasaas 45 ADA PTEID SeBODCAS vinissi ieii AE alone 46 4 542 PTEID SetSODChecking uai nai aa 47 4 5439 PREID UnblockP cnrirenancerienieninieiinneanni nao 47 4544 PTEID DU nblocRPINDE asi Rd add 48 4545 PTEID Veins O 49 ADA PTEID Verify PIN No A una aa a a eai 49 45 47 FRED ateniense ii ES a RR 50 4 5 48 PTEID nero MOLE asneira 50 46 Caching de ficheiros sssrinin ia 51 47 C digos de EO reecoianirsneroniraseiogna aa E EE 52 Manual t cnico do Middleware Cart o de Cidad o 1 60 0 4 53 Outubro 2015 Re CART O DE CIDAD O 0 000 1 Vis o Global As seguintes interfaces podem ser encontradas no middleware do Cart o de Cidad o CryptoAPI CSP PKCSH1 elDlib a SDK ou Software Development Kit A CSP est apenas dispon vel em ambiente Windows as outras 2 bibliotecas est o dispon veis em Windows Linux e Mac OS X As primeiras 2 interfaces s o APIs standard para opera es criptogr ficas a eID lib tem uma API non standard que direcionada funcionalidade n o criptogr fica do Cart o de Cidad o No Windows estas bibliotecas podem ser encontradas na pasta System32 no Mac OS X e em Linux na diretoria
18. Projeto Cart o de Cidad o ORTUGA ASDO Lasar Ih SANTOS FONSECA CONCELLOS DR qm a MARES MARA LUSA BABA LA t E v mio AN 012365 suo A ad a o Manual t cnico do Middleware Cart o de Cidad o Outubro 2015 Vers o 1 60 0 KG CART O DE CIDAD O 0 000 Tabela de Conte dos Vis o GLOBAL aussi ED Ra 5 Li Modo deles spas aaa aa a A 6 2 Dociment c o CS Preci da REATOR 8 2i AC UIDO O sao RS E R 8 22 Ainterface Crypto AI quo rieancaiias ia dinanadaniasEHdal A ndadGiRDnAPUa iai ni idaiaiimed s 8 221 CryptAcguireConteXxte snene nenn Te ca ana 9 Poda CryptReleaseCont xtunariiasonnneninieniinnenna en n 10 22 34 CryptGenera teKey einioes a i 10 224 CryptDerive Key nsimi tsi a nO 11 22 9 CryptDestroy Key isseire pa ig 11 2 2 0 CryptSetKkeyParaM sissien a 11 22 7 CrypteetKey Parat sa 11 22 8 CryptSetProy Ata asia herda RR ca 12 2 29 Ipe POVO agarinecar anciosa 12 2 210 CryploeLMaSh BALSA assim is ronaldo Sha renta baga naiinis 13 2211 CryptGetHashPataMnenriienian ein a rar pata asia aa 13 22 12 CryptEXPOrt KEY ss aaa prison a agua 13 2 213 CryptlmportKey uspinatasretararras nara ati rA aaa nn das a 14 2214 CryptENCIY Pi amassar IO ada 14 2219 CryptDecr Pteni ii naene ea Gra eia Asian aaa UE 15 22 16 CIvpiCHeRteNAS ease passo aa Taj 15 2217 CryptHashData Gcansassaaonieavd nissan SA aaa sa ea 16 2 2 18 CryptHashSessionKey a 16 2 2 19 acao res fes go ola POR RR RR RR 16 2 2 20 CryptDestr
19. RE DATA e o valor correto para o comprimento do buffer ser colocado no par metro pcbDataLen 2 2 13 CryptImportKey BOOL WINAPI CryptImportKey HCRYPTPROV hProv BYTE pbData DWORD dwDataLen HCRYPTKEY hPubkKey DWORD dwFlags HCRYPTKEY phKey Visto que as chaves e certificados do Cart o de Cidad o s o pr instalados pelo governo e o utilizador n o tem permiss es para criar pares de chaves adicionais esta chamada API n o implementada Chamar esta fun o ir gerar o erro E NOTIMPL definido atrav s de SetLastError 2 2 14 CryptEncry pt BOOL WINAPI CryptEncrypt HCRYPTKEY hKey HCRYPTHASH hHash BOOL Final DWORD dwFlags BYTE pbData DWORD pcbData DWORD cbBuffer Tal como estipulado pelo Governo Portugu s n o suportada a utiliza o das chaves para cifra Deste modo esta chamada API n o implementada Chamar esta fun o ir gerar o erro E_NOTIMPL definido atrav s de SetLastError Manual t cnico do Middleware Cart o de Cidad o 1 60 0 14 53 Outubro 2015 KG CART O DE CIDAD O 0 000 Caso no futuro sejam adicionadas chaves de cifra ao Cart o de Cidad o ent o esta fun o ser tamb m implementada 2 2 15 CryptDecrypt BOOL WINAPI CryptDecrypt HCRYPTKEY hKey HCRYPTHASH hHash BOOL Final DWORD dwFlags BYTE pbData DWORD pcbData Tal como estipulado pelo Governo Portugu s n o suportada a utiliza o das chaves para cifra Deste modo est
20. ROR INCONSISTENT PROFILE 1502 tdefine SC ERROR INCOMPATIBLE KEY 1503 tdefine SC ERROR NO DEFAULT KEY 1504 tdefine SC ERROR ID NOT UNIQUE 1505 tdefine SC ERROR CANNOT LOAD KEY 1006 Erros que n o se enquadram nas categorias acima define SC ERROR UNKNOWN 1900 tdefine SC ERROR PKCS15 APP NOT FOUND 1901 Manual t cnico do Middleware Cart o de Cidad o 1 60 0 53 53 Outubro 2015
21. S SHA256 RIPEMD160 CKM RIPEMD160 RSA PKCS CKM SHA1 RSA PKCS CKM SHA256 RSA PKCS CKM MD5 RSA PKCS Para digests CKM SHA 1 CKM RIPEMD160 CKM MDS 3 1 4 Informa es de slot e token O cart o ser representado como um token PKCSH11 com o PIN de Autentica o do Cidad o servindo como User PIN n o est presente nenhum SO PIN O PIN de Assinatura do Cidad o estar ocultado caso seja necess rio este ser requisitado atrav s de uma caixa de di logo As chaves p blicas chaves privadas e os certificados que fa am parte do mesmo conjunto ter o o mesmo atributo no objeto CKA ID 3 1 5 Comportamento da chave de n o rep dio Se uma assinatura for solicitada com esta chave a pr pria biblioteca PKCSH11 mostrar uma caixa de di logo pedindo ao utilizador para inserir o PIN Manual t cnico do Middleware Cart o de Cidad o 1 60 0 21 53 Outubro 2015 CART O DE CIDAD O 4 Documenta o eID Lib API O SDK est destinado a organiza es cujo objetivo seja desenvolver aplica es que utilizam o Cart o de Cidad o Este kit de desenvolvimento lida apenas com os dados identificativos do cidad o e n o com opera es criptogr ficas O kit de desenvolvimento fornecido como Uma interface C C como biblioteca din mica Uma biblioteca Java wrapper JNI sobre uma interface C C Uma biblioteca CH wrapper para NET sobre uma interface C C 4 1 Gest o de vers es e compatibilida
22. T NEWKEYSET CRYPT MACHINE KEYSET e CRYPT DELETEKEYSET n o s o suportados A utiliza o destes valores ir gerar o erro NTE BAD FLAGS Est definido para este par metro um valor extra CRYPT SCKEYSET Com este valor o programador define que adquirido um contexto para a chave definido no par metro pszContainer utilizado base CSP somente para opera es de hashing Se por algum motivo o carregamento do base CSP falhar ent o o seguinte c digo de erro ser definido atrav s de SetLastError ERR CANNOT LOAD BASE CSP 0x1000 2 2 2 CryptReleaseContext BOOL WINAPI CryptReleaseContext HCRYPTPROV hProv DWORD dwFlags Esta chamada API implementada tal como definido pela MSDN 2 2 3 CryptGenerateKey BOOL WINAPI CryptGenKey HCRYPTPROV hProv ALG ID Algid DWORD dwFlags HCRYPTKEY phKey Visto que as chaves e certificados do Cart o de Cidad o s o pr instalados pelo governo e o utilizador n o tem permiss es para criar novos pares de chaves esta chamada API n o implementada Chamar esta fun o ir gerar o erro E NOTIMPL definido atrav s do SetLastError Manual t cnico do Middleware Cart o de Cidad o 1 60 0 10 53 Outubro 2015 CART O DE CIDAD O 0 000 2 2 4 CryptDeriveKey BOOL WINAPI CryptDeriveKey HCRYPTPROV hProv ALG ID Algid HCRYPTHASH hBaseData DWORD dwFlags HCRYPTKEY phKey Visto que esta funcionalidade refere se apenas a chaves de cifra e est
23. TEID CVC A pan a a a a a ai 31 45 10 PTEID CVC Init SMA raiado 32 4 5 11 PTEID_CVC_R_DH_Auth eseeeeeeeesessrserresrrsrrrsesrsrrrrsrsrerrsrsres 32 So PTEID CVCE R tada e E E T RA 33 4 5 13 PIEID CVOC R VahdaleSionalnhe essas ass ata sda 34 45 14 PED CVC SAE da sionista 34 4 5 15 PTEID CVC Mine Ada cqres dessrizepiandnanas fer gac re tadaca FEngada anne gana finca 35 45 16 PTEID CVC WriteFfil caiasast quan ais qeab e rend aaa dUs ta fada is apare nlaiSd 35 45 17 PTEID CVC Me D ainda e E 36 4 5 18 PLEID CancelChange Ad diess assapiirariganiionracosisi donas hifsdasrinide dio 36 45 19 PIE Change ANS carnes gainasia sneren 36 45 20 PTEID ChangePIl seccina 37 4521 JE EDS Ei 38 45 22 PTEID 6 cia o oh usinnan OR SR ORDER ORI RR RENA PER 38 4523 PTEID CEC VOROO jusante Te ETRADE 38 4 5 24 PTEID GetCard AuthenticationKey 39 45 25 PTEID GetCard Type seirinin id den aa infor 39 45 26 PTEID GefCertific tes sa aa AD ae Taca 40 4 5 27 PTEID GetChangeAddressProgress sssesmvcaassracanicasconiassnesermanaos 40 Manual t cnico do Middleware Cart o de Cidad o 1 60 0 3 53 Outubro 2015 KG CART O DE CIDAD O 0 000 4 5 28 PTEID GetlD ana rE 41 4 5 29 PRE Gel astmebEmorCode ssa mentes anacom panntimeaaddadhas 41 45 90 PTEID_GetLastWebErrorMessage ssessasssinisenssisvonista nto ciconiseansbcos 42 4531 PTEID G tPINS iersinii ieii i a 42 45 32 PTEI GRIP IS 42 49 397 PTEID GetTokeninfo RD R
24. a chamada API n o implementada Chamar esta fun o ir gerar o erro E_NOTIMPL definido atrav s de SetLastError Caso no futuro sejam adicionadas chaves de cifra ao Cart o de Cidad o ent o esta fun o ser tamb m implementada 2 2 16 CryptCreateHash BOOL WINAPI CryptCreateHash HCRYPTPROV hProv ALG ID Algid HCRYPTKEY hKey DWORD dwFlags HCRYPTHASH phHash Esta chamada API implementada com base na documenta o MSDN Um erro adicional pode ser devolvido atrav s de SetLastError ERR INVALID PROVIDER HANDLE 0x1001 Este erro indica que o handle esperado por hProv n o foi encontrado n o foi criado usando CryptAcquireContext O processamento desta chamada delegado a uma base CSP Manual t cnico do Middleware Cart o de Cidad o 1 60 0 15 53 Outubro 2015 CART O DE CIDAD O 0 000 2 2 17 CryptHashData BOOL WINAPI CryptHashData HCRYPTHASH hHash BYTE pbData DWORD cbData DWORD dwFlags Esta chamada API implementada com base na documenta o MSDN No par metro dwFlags um valor exceto 0 pode ser especificado CRYPT USERDATA Dependendo da base CSP escolhida poder ou n o ser implementado Por exemplo a Microsoft Base CSP n o implementa este par metro O processamento desta chamada delegado a uma base CSP 2 2 18 CryptHashSessionKey BOOL WINAPI CryptHashSessionKey HCRYPTHASH hHash HCRYPTKEY hKey DWORD dwFlags Visto que algumas das
25. a o servidor CAP FINISHED A transa o est completa CAP CANCELLED A transa o foi cancelada 4 5 5 PTEID CAP SetCapPinChangeCallback void PTEID CAP SetCapPinChangeCallback void USERENTRY callback tCapPinChangeState state Atribui ao middleware uma fun o de callback definida pelo utilizador para ser chamada durante a altera o do PIN CAP Esta fun o invocada pelo middleware de cada vez que o estado da opera o se altera 4 5 6 PTEID CVC Authenticate long PTEID CVC Authenticate unsigned char pucSignedChallenge int iSignedChallengeLen Passo final do estabelecimento de uma sess o segura num cart o de vers o 0 7 Envia ao cart o o challenge assinado pela aplica o para autentica o desta Par metros pucSignedChallenge in O challenge assinado pela chave privada correspondente ao CVC da aplica o iSignedChallengeLen in O comprimento da assinatura deve ser 128 Manual t cnico do Middleware Cart o de Cidad o 1 60 0 29 53 Outubro 2015 KG CART O DE CIDAD O 0 000 4 5 7 PTEID CVC Authenticate SM101 long PTEID CVC Authenticate SM101 const unsigned char ifdChallenge int ifdChallengeLen const char ifdSerialNr int ifdSerialNrLen const char iccSerialNr int iccSerialNrLen const unsigned char keylIfd int keyIfdLen const unsigned char encKey unsigned int encKeyLen const unsigned char macKey unsigned int macKeyLen unsigned char ifdC
26. ar e porque cont m dados protegidos por PIN O ficheiro SOD pode tamb m vir a mudar por isso uma pequena parte do SOD lido do cart o para verificar se o SOD que foi cached ainda est atualizado Caso n o esteja o ficheiro completo lido do cart o e copiado novamente para o disco r gido Nota para CVC existe uma flag no middleware que regista quando o SOD foi lido e por exemplo quando efetua um GetID e depois GetAddress o SOD n o lido novamente para verificar a validade dos dados de Morada Como exce o quando CVC Write XXX chamado feito um reset flag Manual t cnico do Middleware Cart o de Cidad o 1 60 0 51 53 Outubro 2015 CART O DE CIDAD O 0 000 4 7 C digos de Erro Existem 2 tipos de return codes os do pr prio pteidlib e os da biblioteca open source subjacente pteidlibopensc Return codes da biblioteca pteidlib define PTEID OK 0 Function succeeded A define PTEID E BAD PARAM 1 Invalid parameter NULL pointer out of bound etc define PTEID_E_INTERNAL 2 An internal consistency check failed Hdefine PTEID E INSUFFICIENT BUFFER 3 The data buffer to receive returned data is too small define PTEID_E_KEYPAD_CANCELLED define PTEID_E_KEYPAD_TIMEOUT define PTEID_E_KEYPAD_PIN_MISMATCH define PTEID_E_KEYPAD_MSG_TOO_LONG define PTEID_E_INVALID_PIN_LENGTH define PTEID_E_NOT_INITIALIZED define PTEID E UNKNOWN detected but the source 4
27. as n o est o presentes no cart o esta chamada API n o implementada Chamar esta fun o ir gerar o erro E NOTIMPL definido atrav s do SetLastError 2 2 5 CryptDestroyKey BOOL WINAPI CryptDestroyKey HCRYPTKEY hKey Visto que as chaves e certificados do Cart o de Cidad o s o pr instalados pelo governo e o utilizador n o tem permiss es para criar novos pares de chaves esta chamada API n o implementada Chamar esta fun o ir gerar o erro E NOTIMPL definido atrav s do SetLastError 2 2 6 CryptSetKeyParam BOOL WINAPI CryptSetKeyParam HCRYPTKEY hKey DWORD dwParam BYTE pbData DWORD dwFlags Visto que as chaves e certificados do Cart o de Cidad o s o pr instalados pelo governo e o utilizador n o tem permiss es para criar novos pares de chaves esta chamada API n o implementada Chamar esta fun o ir gerar o erro E NOTIMPL definido atrav s do SetLastError 2 2 7 CryptGetKeyParam BOOL WINAPI CryptGetKeyParam HCRYPTKEY hKey DWORD dwParam BYTE pbData DWORD pcbData Manual t cnico do Middleware Cart o de Cidad o 1 60 0 11 53 Outubro 2015 KG CART O DE CIDAD O 0 000 DWORD dwFlags Visto que as chaves e certificados do Cart o de Cidad o s o pr instalados pelo governo e o utilizador n o tem permiss es para criar novos pares de chaves esta chamada API n o implementada Chamar esta fun o ir gerar o erro E NOTIMPL definido
28. assinado pela chave sim trica iChallengeLen in O tamanho do espa o reservado para o challenge deve ser pelo menos 48 4 5 11 PTEID CVC R DH Auth long PTEID CVC R DH Auth const unsigned char ucKifd unsigned long ulKifdLen const unsigned char pucCert unsigned long ulCertLen unsigned char ucKicc unsigned long ulKiccLen unsigned char ucChallenge unsigned long ulChallengeLen Segundo passo no estabelecimento de uma sess o segura com um cart o de vers o 0 7 A aplica o autentica se perante o cart o neste passo Par metros ucKifd in Chave Kifd gerada pela aplica o ulKifdLen in Comprimento da chave Kifd deve ser 128 pucCert in CVC correspondente aplica o Manual t cnico do Middleware Cart o de Cidad o 1 60 0 32 53 Outubro 2015 KG CART O DE CIDAD O 0 000 ulCertLen in Comprimento do CVC ucKicc out Chave Kicc gerada pelo cart o ulKiccLen out Comprimento da chave Kicc deve ser 128 ucChallenge out O challenge para a aplica o assinar e autenticar se ulChallengeLen out Comprimento do challenge deve ser 128 4 5 12 PTEID CVC R Init long PTEID CVC R Init unsigned char ucG unsigned long outlenG unsigned char ucP unsigned long outlenP unsigned char ucQ unsigned long outlenQ Inicia o estabelecimento de uma sess o segura num cart o de vers o 0 7 Faz a leitura dos par metros para o algoritmo Diffie Hellman de troca de chaves
29. atrav s do SetLastError 2 2 8 CryptSetProvParam BOOL WINAPI CryptSetProvParam HCRYPTPROV hProv DWORD dwParam BYTE pbData DWORD dwFlags De acordo com a documenta o da MSDN o par metro dwParam pode ser definido para os seguintes valores PP CLIENT HWND PP KEYSET SEC DESCR O ltimo par metro n o faz sentido visto que n o poss vel escrever informa o sobre as chaves no cart o Este par metro dever ser ignorado 2 2 9 CryptGetProvParam BOOL WINAPI CryptGetProvParam HCRYPTPROV hProv DWORD dwParam BYTE pbData DWORD pcbData DWORD dwFlags Esta chamada API implementada com base na documenta o MSDN exce o do par metro PP KEYSET SEC DESCR que ignorado Para o par metro PP IMPTYPE devolvido o valor CRYPT IMPL MIXED porque a opera o de assinatura executada pelo hardware smartcard enquanto que a opera o de hashing executada pelo base cryptographic provider Manual t cnico do Middleware Cart o de Cidad o 1 60 0 12 53 Outubro 2015 CART O DE CIDAD O 0 000 2 2 10 CryptSetHashParam BOOL WINAPI CryptSetHashParam HCRYPTHASH hHash DWORD dwParam BYTE pbData DWORD dwFlags Esta chamada API implementada com base na documenta o MSDN O par metro dwParam HP HASHVAL implementado mas deve ser usado com cuidado Este par metro foi definido de forma a dar s aplica es a possibilidade de assinar hash values sem ter acesso
30. blioteca gr fica sem terem conhecimento sobre a configura o de hardware Manual t cnico do Middleware Cart o de Cidad o 1 60 0 8 53 Outubro 2015 KG CART O DE CIDAD O 0 000 A componente CSP do middleware estabelece a liga o entre a CryptoAPI e a interface PKCSH11 subjacente O programador nunca ir chamar nenhuma das fun es do CSP diretamente mas sim atrav s da Crypto API Nas sec es abaixo ser apresentada uma descri o das chamadas API que a CryptoAPI encaminha para o CSP para processamento Este documento n o fornece informa o detalhada sobre a opera o de cada chamada API Para este tipo de informa o por favor consulte a Microsoft Developer Network MSDN O cart o de identidade Portugu s apenas suporta opera es de assinatura digital Todas as fun es n o relacionadas com esta opera o criptogr fica n o s o implementadas O cart o cont m dois pares de chaves que podem ser usados para assinaturas digitais o primeiro para autentica o e o segundo para n o rep dio assinaturas legalmente vinculativas Devido a isto alguns par metros passados para as fun es da CryptoAPI n o t m significado Por exemplo na chamada API CryptGetUserKey passado um par metro chamado dwKeySpec Este par metro usado para definir qual o tipo de chave a obter AT KEYEXCHANGE ou AT SIGNATURE No entanto no caso do CSP do Cart o de Cidad o este par metro n o suficiente para determinar
31. chamadas subjacentes necess rias para usar esta fun o n o s o de momento implementadas por este CSP esta chamada tamb m n o est dispon vel Chamar esta fun o ir gerar o erro E NOTIMPL definido atrav s de SetLastError 2 2 19 CryptSignHash BOOL WINAPI CryptSignHash HCRYPTHASH hHash DWORD dwKeySpec LPCTSTR sDescription DWORD dwFlags BYTE pbSignature DWORD vdwsSigLen Esta chamada API implementada com base na documenta o MSDN Quando esta fun o chamada efetuada uma tentativa de conex o ao Cart o de Cidad o smartcard Se alguma destas opera es falhar o seguinte erro pode ser gerado atrav s de SetLastError ERR CANNOT LOGON TO TOKEN 0x1004 Manual t cnico do Middleware Cart o de Cidad o 1 60 0 16 53 Outubro 2015 KG CART O DE CIDAD O 0 000 De modo a assinar os dados hash necess rio ler alguma informa o por exemplo o comprimento da chave do smartcard Caso ocorra um erro durante esta opera o a seguinte mensagem de erro ser gerada atrav s de SetLastError ERR CANNOT GET TOKEN SLOT INFO 0x1003 O mecanismo de assinatura utilizado para produzir assinaturas digitais CKM RSA PKCS Por favor consulte a documenta o PKCSH11 para informa o detalhada sobre este mecanismo Os seguintes algoritmos de hashing podem ser usados para assinatura de dados MD2 MD4 MDS SHA 1 e SSL3 SHAMDS Apesar dos algoritmos de hashing MDx ainda estarem di
32. de O Toolkit gere automaticamente todas as diferentes vers es dos cart es Ao trabalhar com o Toolkit n o h necessidade de preocupa o com a forma como os dados est o gravados no cart o visto estes estarem dispon veis de maneira uniforme atrav s da API Existem fun es de baixo n vel para obter as v rias vers es dos componentes do cart o mas isto apenas direcionado a programadores que necessitam de aceder a caracter sticas muito espec ficas do cart o uma aplica o comum n o dever ter que se preocupar com a vers o do cart o 4 2 Inser o de PIN V rias fun es aceitam um par metro de inser o de refer ncia PIN Caso uma refer ncia PIN seja fornecida e a fun o obtiver um access denied quando tenta aceder a um recurso no cart o esta ir automaticamente pedir ao utilizador para fornecer um PIN e tentar aceder novamente ao recurso caso a verifica o do PIN tenha sido bem sucedida Isto uma verifica o just in time do PIN visto que este s ser solicitado quando necess rio Por exemplo um PIN permanente pode ter sido inserido previamente e ainda ser v lido Neste caso n o ser solicitado novamente 4 3 Aplica o Multi threaded A biblioteca n o thread safe da responsabilidade da aplica o n o usar a biblioteca simultaneamente em threads paralelas Nota O CSP thread safe mas n o poder chamar o CSP numa thread e o Toolkit noutra th
33. e Cidad o dever o ter em conta uma particularidade O M todo C Login n o deve ser usado para verifica o de PINs Em lugar disso a utiliza o das opera es de assinatura desencadeia automaticamente o pedido de PIN ao utilizador atrav s de caixas de di logo ou pinpad 3 1 2 Chamadas API implementadas 3 1 2 1 Fun es Gerais C Initialize C Finalize C Getlnfo C GetFunctionList 3 1 2 2 Fun es de gest o de slot e token C GetSlotList C GetSlotInfo C GetTokenInfo C GetMechanismList C GetMechanisminfo C WaitForSlotEvent only non blocking Manual t cnico do Middleware Cart o de Cidad o 1 60 0 19 53 Outubro 2015 Re CART O DE CIDAD O 0 000 C SetPin 3 1 2 3 Fun es de gest o de sess o C OpensSession C CloseSession C CloseAllSessions C GetSessionInfo C Login C Logout 3 1 2 4 Fun es de gest o de objetos C FindObjectsInit C FindObjects C FindObjectsFinal C GetAttributeValue 3 1 2 5 Fun es de assinatura C Signlnit C Sign C SignUpdate C SignFinal 3 1 2 6 Fun es de digest C DigestInit C Digest C DigestUpdate C DigestFinal 3 1 2 7 Fun es de gera o aleat ria a aguardar confirma o C SeedRandom C GenerateRandom Manual t cnico do Middleware Cart o de Cidad o 1 60 0 20 53 Outubro 2015 CART O DE CIDAD O 0 000 3 1 3 Mecanismos de assinatura suportados Para assinaturas CKM RSA PKCS both ASN 1 wrapped e hashes puros MD5 SHA1 SHA1 MD
34. eiros de identidade Todas estas fun es podem ser chamadas independentemente do estado presente do cart o caso outra DF Data File que n o a de identidade estiver selecionada etc Importante certifique se que leu a sec o relativa s fun es SOD abaixo Manual t cnico do Middleware Cart o de Cidad o 1 60 0 23 53 Outubro 2015 KG CART O DE CIDAD O 0 000 Fun es PTEID GetD PTEID GetAddr PTEID GetPic PTEID GetCertificates PTEID GetPINs PTEID GetTokenInfo PTEID GetCVCRoot 44 3 Fun es gen ricas de alto n vel Estas fun es d o acesso integradas com o toolkit a fun es gerais para aplica es que necessitem de efetuar outras a es para al m do acesso aos dados identificativos nome morada etc Fun es PTEID SelectADF PTEID ReadFile PTEID WriteFile PTEID WriteFile inOffset PTEID VerifyPIN PTEID VerifyPIN No Alert PTEID ChangePIN PTEID UnblockPIN PTEID UnblockPIN Ext PTEID IsActivated PTEID Activate 4 4 4 Fun es de seguran a 4 4 4 1 Autenticidade dos dados do cart o Para assegurar que os dados no cart o s o genu nos um ficheiro SOD Security Object Data colocado no cart o contendo assinaturas eletr nicas sobre os dados identificativos a morada a fotografia e a chave de autentica o p blica do cart o pelo menos um usado para autentica o CVC As seguint
35. ensa a introdu o do PIN de morada Uma sess o segura ter que ser estabelecida previamente Isto depende da vers o do cart o No caso 0 7 uma autentica o CVC suficiente No caso 1 0 1 necess rio estabelecer uma autentica o CVC e uma autentica o m tua com chave sim trica para estabelecer um canal seguro Secure Messaging Par metros AddrData out o endere o de um registo PTEID ADDR 4 5 9 PTEID CVC Init long PTEID CVC Init const unsigned char pucCert int iCertLen unsigned char pucChallenge int iChallengeLen Iniciar o estabelecimento de uma sess o segura com um cart o de vers o 1 0 1 Este o primeiro passo inicia a autentica o CVC Par metros pucCert in O CVC da aplica o iCertLen in O comprimento do CVC pucChallenge out O challenge que o cart o envia para a aplica o assinar Manual t cnico do Middleware Cart o de Cidad o 1 60 0 31 53 Outubro 2015 KG CART O DE CIDAD O 0 000 iChallengeLen in O tamanho reservado para o challenge Deve ser pelo menos 128 4 5 10 PTEID CVC Init SM101 long PTEID CVC Init SM101 unsigned char pucChallenge int iChallengeLen Inicia o estabelecimento de uma sess o cifrada com um cart o de vers o 1 0 1 Esta fun o deve ser usada para iniciar uma autentica o m tua depois de uma autentica o baseada em CVC ter sido conclu da Par metros pucChallenge out O challenge gerado pelo cart o para ser
36. es fun es usar o este SOD para verifica o Os dados de identifica o PTEID_GetID A morada PTEID GetAddr and PTEID CVC GetAddr Manual t cnico do Middleware Cart o de Cidad o 1 60 0 24 53 Outubro 2015 KG CART O DE CIDAD O 0 000 A fotografia PTEID GetPic A chave de autentica o p blica do cart o PTEID CVC Init As seguintes fun es s o fornecidas para controlar a verifica o SOD PTEID ReadSOD PTEID SetSODChecking PTEID SetSODCAs 4 4 4 2 Sess es seguras O cart o permite o estabelecimento de sess es seguras efetuada a autentica o de uma ou ambas as partes a aplica o e o cart o Ap s este processo as opera es seguintes s o efetuadas sobre comunica o cifrada e autenticada A autentica o da aplica o efetuada atrav s de CVCs Card Verifiable Certificates Estes certificados s o emitidos para entidades que estejam autorizadas a efetuar opera es privilegiadas no cart o Existem duas opera es privilegiadas que obrigam ao estabelecimento pr vio de uma sess o segura Leitura da morada sem introdu o de PIN Altera o da morada Existem duas vers es do cart o atualmente em utiliza o 0 7 e 1 0 1 O estabelecimento de sess es seguras bastante diferente de uma vers o para outra No caso de um cart o 0 7 as fun es s o as seguintes PTEID CVC R Init PTEID CVC R DH Auth PTEID CVC R ValidateSignature
37. hallengeResp int ifdChallengeRespLen Passo final do estabelecimento de uma sess o segura num cart o de vers o 1 0 1 Neste passo o cart o e a aplica o autenticam se mutuamente utilizando um sistema de chave sim trica Par metros ifdChallenge in O challenge que foi assinado pela chave derivada da aplica o ifdChallengeLen in O comprimento do challenge assinado deve ser 48 ifdSerialNr in O n mero de s rie da aplica o ifdSerialNrLen in O comprimento do n mero de s rie da aplica o iccSerialNr in O n mero de s rie do cart o iccSerialNrLen in O comprimento do n mero de s rie do cart o keylfd in A chave secreta kIFD gerada pela aplica o keylfdLen in O comprimento da chave secreta kIFD encKey in A chave derivada a ser usada para cifra encKeyLen in O comprimento da chave derivada de cifra Manual t cnico do Middleware Cart o de Cidad o 1 60 0 30 53 Outubro 2015 KG CART O DE CIDAD O 0 000 macKey in A chave derivada a usar para efetuar MAC ou seja autentica o de mensagens macKeyLen in O comprimento da chave derivada de MAC ifdChallengeResp out A resposta do cart o ao pedido de autentica o ifdChallengeRespLen out O comprimento da resposta do cart o deve ser pelo menos 48 4 5 8 PTEID CVC GetAddr long PTEID CVC GetAddr PTEID ADDR AddrData Ler o ficheiro de morada sobre uma sess o segura e colocar os conte dos num registo PTEID ADDR Disp
38. in Endere o do servidor no formato lt nome gt lt porto gt ucServerCaCert in Certificado da AC do servidor codificado em DER ulServerCaCertLen in Comprimento do certificado da AC do servidor proxylnfo in Dados do servidor proxy ou NULL se n o for necess rio csSecretCode in O c digo secreto que o cidad o recebeu por correio csProcess in O n mero do processo de altera o de morada que o cidad o recebeu por correio 4 5 20 PTEID ChangePIN long PTEID ChangePIN unsigned char Pinld char pszOldPin char pszNewPin long triesLeft Alterar um PIN Par metros Pinld in O identificador do PIN ver o registo PTEID Pins pszOldPin in O valor atual do PIN caso seja NULL o PIN ser solicitado ao utilizador pszNewPin in O novo valor do PIN caso seja NULL o PIN ser solicitado ao utilizador triesLeft out As tentativas restantes de valida o do PIN Manual t cnico do Middleware Cart o de Cidad o 1 60 0 37 53 Outubro 2015 CART O DE CIDAD O 0 000 4 5 21 PTEID Exit long PTEID Exit unsigned long ulMode Termina uma sess o e liberta o cart o Par metros ulMode Modo de termina o de sess o pode ter 2 valores PTEID EXIT LEAVE CARD Termina a sess o mas deixa a interface el trica ligada PTEID EXIT UNPOWER Termina a sess o e desliga a interface el trica com o cart o 4 5 22 PTEID GetAddr long PTEID GetAddr PTEID ADDR AddrData Le
39. io Se outlen for menor que os conte dos do ficheiro apenas os bytes outlen ser o lidos Se outlen for maior os conte dos do ficheiro s o devolvidos sem erro Par metros file in O caminho do ficheiro por exemplo 0x3F 0x00 0x5F 0x00 OxEF 0x02 para o ficheiro ID filelen in Comprimento do ficheiro em bytes out out O buffer que guarda os conte dos do ficheiro outlen in out N mero de bytes alocados n mero de bytes lidos Pinld in O identificador do PIN de Morada apenas necess rio aquando da leitura do ficheiro de Morada 4 5 37 PTEID ReadSOD long PTEID ReadSOD unsigned char out unsigned long outlen Ler os conte dos do ficheiro SOD a partir do cart o Esta fun o chama PTEID ReadFile com o ficheiro SOD como caminho Se outlen for menor que os conte dos do ficheiro apenas os bytes outlen ser o lidos Se outlen for maior os conte dos do ficheiro s o devolvidos sem erro Par metros out out O buffer para guardar os conte dos do ficheiro outlen in out N mero de bytes alocados n mero de bytes lidos Manual t cnico do Middleware Cart o de Cidad o 1 60 0 44 53 Outubro 2015 CART O DE CIDAD O 0 000 4 5 38 PTEID SelectADF long PTEID SelectADF unsigned char adf long adflen Seleccionar um Application Directory File ADF atrav s da AID Application ID Par metros adf in AID do ADF adflen in O comprimento do buffer que cont m a AID
40. isto PTEID PIC Manual t cnico do Middleware Cart o de Cidad o 1 60 0 42 53 Outubro 2015 CART O DE CIDAD O 0 000 4 5 33 PTEID GetTokenInfo long PTEID GetTokenInfo PTEID TokenInfo tokenData Devolver os conte dos de PKCS15 Tokenlnfo Par metros tokenData out O endere o de um registo PTEID TokenlInfo 4 5 34 PTEID Init long PTEID Init char ReaderName Inicializa o toolkit Esta fun o deve ser chamada antes de qualquer outra tenta efetuar uma liga o ao cart o e caso n o esteja inserido nenhum cart o devolvido um erro Quando o cart o removido do leitor esta fun o tem que ser chamada novamente Par metros ReaderName in O nome do leitor PCSC tal como devolvido por SCardListReaders especifique NULL se quiser selecionar o primeiro leitor dispon vel 4 5 35 PTEID IsActivated long PTEID IsActivated unsigned long pulStatus Obter o estado de ativa o do cart o Par metros pulStatus out O estado de ativa o 0 se n o estiver ativo 1 se ativado Manual t cnico do Middleware Cart o de Cidad o 1 60 0 43 53 Outubro 2015 Re CART O DE CIDAD O 0 000 4 5 36 PTEID ReadFile PTEID ReadFile unsigned char file int filelen unsigned char out unsigned long outlen unsigned char Pinld Ler um ficheiro no cart o Se uma refer ncia PIN fornecida e necess ria para ler o ficheiro o PIN ser solicitado e verificado se necess r
41. morada ADDR CONNECTING A ligar ao servidor ADDR READING INFO A ler informa o do cart o ADDR SENDING INFO A enviar os dados para o servidor ADDR INIT SEC CHANNEL A inicializar o estabelecimento de canal seguro ADDR SERVER CHALL A enviar o challenge para o servidor ADDR SERVER AUTH A autenticar o servidor perante o cart o ADDR CLIENT AUTH A autenticar o cart o perante o servidor ADDR SERVER AUTH A efetuar o segundo passo de autentica o ADDR WRITE A escrever a nova morada e o novo SOD no cart o ADDR FINISH A terminar a transa o enviar resultado para o servidor Manual t cnico do Middleware Cart o de Cidad o 1 60 0 40 53 Outubro 2015 KG CART O DE CIDAD O 0 000 ADDR FINISHED A transa o est completa ADDR CANCELLED A transa o foi cancelada 4 5 28 PTEID GetID long PTEID GetID PTEID ID IDData Ler os dados de Identifica o do cidad o Par metros IDData out Endere o de um registo PTEID ID 4 5 29 PTEID GetLastWebErrorCode tWebErrorCode PTEID GetLastWebErrorCode Permite saber o c digo de um erro gerado durante a altera o de PIN CAP ou morada Esta fun o permite conhecer com maior detalhe um problema quando a altera o de PIN CAP ou morada falha Os valores poss veis de retorno s o WEB ERR OK A opera o foi conclu da com sucesso VVEB ERR SELECI FILE N o foi poss vel encontrar um ficheiro no cart o WEB ERR READ FILE Ocorreu
42. o PTEID Pins Pin in O valor PIN se NULL ser solicitado o PIN ao utilizador triesLeft out O n mero restante de tentativas PIN 4 5 46 PTEID VerifyPIN No Alert long PTEID VerifyPIN No Alert unsigned char Pinld char Pin long triesLeft Verificar um PIN No caso de ser o PIN de assinatura n o mostrada a mensagem de alerta e apenas pedido o PIN ao utilizador A utilizar quando se pretende simplesmente verificar o PIN sem efetuar assinatura Par metros Pinld in O identificador do PIN ver o registo PTEID Pins Pin in O valor PIN se NULL ser solicitado o PIN ao utilizador triesLeft out O n mero restante de tentativas PIN Manual t cnico do Middleware Cart o de Cidad o 1 60 0 49 53 Outubro 2015 KG CART O DE CIDAD O 0 000 4 5 47 PTEID WriteFile long PTEID WriteFile unsigned char file int filelen unsigned char in unsigned long inlen unsigned char Pinld Escrever dados para um ficheiro no cart o Se for fornecida uma refer ncia PIN este ser solicitado e verificado se necess rio verifica o just in time Esta fun o aplica se apenas a escrita no ficheiro Personal Data Par metros file in Um array de bytes contendo o caminho para o ficheiro Ex 0x3F 0x00 0x5F 0x00 OxEF 0x02 para o ficheiro ID filelen in Comprimento do ficheiro em bytes in in Os dados a ser escritos no ficheiro inlen in O comprimento dos dados a escrever
43. oyHash sos di 17 RPE POLO arg o 1 Dem int o jcagi Rb Ls SAR UR RPPN PR PRRR ARP RR ERR PDR 17 2 222 CrtyptGenRan doii encena a 18 22 239 CryptGetUserKey us nas a aiian a N naibii 18 2 224 CryptD plicateH sh sig 18 dades CryptD plicateKey esanaia ieia 18 3 Documenta o PKCS J1 o snnnnnnennsneseenssooeenoeesseesseesseossooessoeesseessensseessnessses 19 3k Alterface PKCSH LL aee ia ia a a aae 19 3 1 1 Diferen as na autentica o sssseenssesseeeesseeseseosseessesnrssressessessres 19 3 1 2 Chamadas API implementadas ssssssesesssssesrsesresssrsrrrerrsesrsreseses 19 3 1 2 1 Fun es Gerais pssqro sita S DS 19 3 1 2 2 Fun es de gest o de slot e token asa usas messasconisriceneiasatanvasiece 19 3 1 2 3 Fun es de gest o de SESS O s sssessesssserereeeresrsrsrsrsrererreresess 20 3 1 2 4 Fun es de gest o de objetoS ssssssessseeereseresrsrsrsrsrerereresesess 20 Dio Fun es de assi at ta ias pas bRO do pina 20 3 1 2 6 Fung es de digest RR RR RR O 20 3 1 2 7 Fun es de gera o aleat ria a aguardar confirma o 20 Manual t cnico do Middleware Cart o de Cidad o 1 60 0 2 53 Outubro 2015 KG CART O DE CIDAD O 0 000 3 1 3 Mecanismos de assinatura suportados a 21 3 1 4 Informa es de slot e fOKkEN sans cunsieniiiniisisdanasaianiicesauiss as ansdiagcadilsg s 21 3 1 5 Comportamento da chave de n o rep dio
44. qual a chave de assinatura a carregar Neste caso o contentor que cont m o certificado correto deve ser passado para Crypt AcquireContext e ent o a chamada para a fun o CryptGetUserKey ser completada com sucesso Apesar do CSP apenas suportar assinaturas digitais est mesmo assim registado como um CSP de tipo PROV RSA FULL Isto feito de forma a permitir a utiliza o do CSP em aplica es Microsoft Chamar fun es da CryptoAPI que n o s o usadas num contexto de assinatura digital resultar num erro indicando que a funcionalidade n o est implementada 2 2 1 CryptAcquireContext BOOL WINAPI CryptAcquireContext HCRYPTPROV phProv LPCTSTR pszContainer LPCTSTR pszProvider DWORD dwProvType DWORD dwFlags O par metro pszContainer cont m o nome do key container que tem uma determinada chave do cart o Os nomes dos containers existentes no cart o podem ser obtidos atrav s de uma chamada fun o CryptGetProvParam Manual t cnico do Middleware Cart o de Cidad o 1 60 0 9 53 Outubro 2015 KG CART O DE CIDAD O 0 000 O par metro dwFlags pode ser definido para os seguintes valores de acordo com a MSDN 0 equivalente a CRYPT SCKEYSET CRYPT VERIFYCONTEXT CRYPT NEWKENYSET CRYPT MACHINE KEYSET CRYPT DELETEKEYSET Como a informa o relativa a chaves do Cart o de Cidad o est guardada num smartcard e o utilizador n o tem permiss es para criar novos conjuntos de chaves os valores CRYP
45. r os dados da Morada Uma caixa de introdu o de PIN vai ser apresentada ao utilizador Par metros AddrData out O endere o do registo PTEID ADDR 4 5 23 PTEID GetCVCRoot long PTEID GetCVCRoot PTEID RSAPublicKey pCVCRootKey Obter a chave p blica CVC CA que este cart o utilize para verificar a chave CVC permitir que a aplica o selecione o certificado CVC correto para este cart o N o ser alocada nenhuma mem ria para o registo PTEID RSAPublicKey por isso os campos modulus e exponent dever o ter mem ria suficiente alocada para guardar os despectivos valores e a quantidade de mem ria deve ser dada nos campos length Por exemplo unsigned char modulus 128 unsigned char exponent 3 Manual t cnico do Middleware Cart o de Cidad o 1 60 0 38 53 Outubro 2015 KG CART O DE CIDAD O 0 000 PTEID RSAPublickey CVCRootKey modulus sizeof modulus exponent sizeof exponent Ap s retorno bem sucedido os campos modulusLength e exponentLenght ir o conter os comprimentos corretos Par metros pCVCRootKey in O endere o de um registo PTEID RSAPublicKey 4 5 24 PTEID GetCardAuthenticationKey long PTEID GetCard AuthenticationKey PTEID RSAPublicKey pCardAuthPubkKey Retorna a chave p blica de autentica o do cart o Esta chave serve para autentica o do cart o mas n o do cidad o perante uma aplica o durante o estabelecimento de uma sess o segura N
46. rada solicitando o PUK e o novo PIN Par metros Pinld in O identificador do PIN ver o registo PTEID Pins pszPuk in O valor PUK se NULL ser solicitado o PUK ao utilizador pszNewPin in O novo PIN se NULL ser solicitado o PIN ao utilizador triesLeft out O n mero restante de tentativas PUK Manual t cnico do Middleware Cart o de Cidad o 1 60 0 47 53 Outubro 2015 Re CART O DE CIDAD O 0 000 4 5 44 PTEID UnblockPIN Ext long PTEID UnblockPIN Ext unsigned char Pinld char pszPuk char pszNewPin long triesLeft unsigned long ulFlags Funcionalidade estendida de desbloqueio de PIN Ex chamar PTEID UnblockPIN Ext com ulFlags UNBLOCK FLAG NEW PIN o mesmo que chamar PTEID UnblockPIN Par metros pinld in O identificador do PIN ver o registo PTEID Pins pszPuk in O valor do PUK se NULL ser solicitado o PUK ao utilizador pszNewPin in O novo PIN se NULL ser solicitado o PIN ao utilizador triesLeft out O n mero restante de tentativas PUK ulFlags in flags 0 UNBLOCK FLAG NEW PIN UNBLOCK FLAG PUK MERGE Ou UNBLOCK FLAG NEW PIN UNBLOCK FLAG PUK MERGE Manual t cnico do Middleware Cart o de Cidad o 1 60 0 48 53 Outubro 2015 Re CART O DE CIDAD O 0 000 4 5 45 PTEID VerifyPIN long PTEID Verify PIN unsigned char Pinld char Pin long triesLeft Verificar um PIN Par metros Pinld in O identificador do PIN ver o regist
47. rafia do cidad o durante uns segundos Ir tamb m registar automaticamente se esta op o estiver ativada os certificados do cart o na Microsoft certificate store caso ainda n o estejam registados Quando o cart o removido os certificados registados s o automaticamente removidos da certificate store se esta op o estiver ativada Este modo tamb m conhecido como modo Kiosk Esta funcionalidade a n vel de certificados apenas implementada na plataforma Windows Por favor consulte o Manual de Utilizador para mais informa o sobre estas aplica es 1 1 Modo de teste A eID GUI disp e de um modo de funcionamento designado modo de teste que possui algumas facilidades para programadores e t cnicos Para iniciar em modo de teste a aplica o pteidgui exe Windows ou pteidgui Linux Mac OS X deve ser invocada a partir da linha de comando Para obter uma lista dos argumentos utilizar o seguinte comando pteidgui help A invoca o deste comando faz aparecer a seguinte janela de ajuda i E Middleware do Cart o de Cidad o T De maneira a utilizar a aplica o s o aceites os seguintes argumentos h help Imprime esta janela de informa o t test mode Activa o modo de teste a address lt servidor porto gt Especifica o servidor para confirma o da altera o de morada 1 C cap lt servidor porta gt Especifica o servidor para alterar o PIN de autentica o
48. re Cart o de Cidad o 1 60 0 26 53 Outubro 2015 KG CART O DE CIDAD O 0 000 4 5 Detalhes da API C C A API C C descrita em detalhe abaixo Para a API managed C por favor consulte os ficheiros header h na diretoria dotnet do SDK A API NET est implementada na biblioteca pteidlib dotnet dll na diretoria System32 do Windows Para a API Java por favor consulte os Javadocs na diretoria java do SDK 4 5 1 PTEID Activate long PTEID Activate pm char pszPin unsigned char pucDate unsigned long ulMode Ativar o cart o atualizar um ficheiro espec fico do cart o Caso o cart o j tenha sido ativado devolvido o erro SC ERROR NOT ALLOWED Par metros pszPin in valor do PIN de Ativa o pucDate in a data corrente no formato DD MM YY YY em formato BCD 4 bytes ex 0x17 0x11 0x20 0x06 para 17 de Novembro de 2006 ulMode in modo MODE ACTIVATE BLOCK PIN para bloquear o PIN de Ativa o ou O para o inverso deve apenas ser usado para testes 4 5 2 PTEID CAP CancelCapPinChange void PTEID CAP CancelCapPinChange Cancelar uma opera o de altera o do PIN CAP que esteja em curso Manual t cnico do Middleware Cart o de Cidad o 1 60 0 27 53 Outubro 2015 KG CART O DE CIDAD O 0 000 4 5 3 PTEID CAP ChangeCapPin long PTEID CAP ChangeCapPin const char csServer const unsigned char ucServerCaCert unsigned long
49. read Manual t cnico do Middleware Cart o de Cidad o 1 60 0 22 53 Outubro 2015 Re CART O DE CIDAD O 0 000 4 4 Organiza o API As fun es est o divididas em 5 categorias Fun es de inicializa o e t rmino obrigat rias para iniciar e terminar a utiliza o do toolkit Fun es de identity usadas para obter dados identificativos nome morada etc do cart o Fun es de uso geral de alto n vel usadas para aceder a dados de uma forma gen rica ficheiros PIN principalmente em outras aplica es que n o as de Identity N o h necessidade de usar estas fun es para aceder a dados identificativos Fun es de seguran a Existem tamb m fun es para garantir a integridade dos dados do cart o Existem tamb m fun es para estabelecer sess es seguras sess es com garantia de autentica o e confidencialidade Fun es de altera o do cart o s o fun es que permitem alterar a morada escrita no cart o e o PIN da applet EMV CAP 4 4 1 Fun es de inicializa o e t rmino Estas fun es s o necess rias para inicializar e terminar a eID Lib Fun es PTEID Init PTEID Exit 4 4 2 Fun es Identidade Todas as fun es de Identidade s o autossuficientes Isto n o necess rio chamar nenhuma outra fun o em conjunto com uma fun o identidade excerto as de inicializa o e t rmino N o necess rio inserir um PIN para ler fich
50. rtificados que est o presentes na diretoria APPDIRY eidstore certs APPDIR corresponde diretoria onde a aplica o reside Se esta diretoria n o existir ou n o contiver os certificados corretos para o cart o dever chamar esta fun o para o especificar ou desativar a verifica o SOD com a fun o PTEID SetSODChecking Se chamar esta fun o novamente com o par metro NULL os certificados default ser o novamente usados Par metros Certifs in O endere o de uma estrutura PTEID Certifs ou NULL Manual t cnico do Middleware Cart o de Cidad o 1 60 0 46 53 Outubro 2015 KG CART O DE CIDAD O 0 000 4 5 42 PTEID SetSODChecking long PTEID SetSODChecking int bDDoCheck Ativar ou desativar a verifica o SOD Verifica o SOD significa que a validade dos dados de identifica o morada fotografia e chave p blica de autentica o do cart o verificada de modo a assegurar que n o foi falsificada Este processo efetuado atrav s da leitura do ficheiro SOD que cont m hashes sobre os dados mencionados acima e est assinada por um certificado Document Signer Par metros bDoCheck in true para ativar verifica o SOD false para desativar 4 5 43 PTEID UnblockPIN long PTEID UnblockPIN unsigned char Pinld char pszPuk char pszNewPin long triesLeft Desbloquear PIN com altera o de PIN Se pszPuk NULL ou pszNewPin NULL uma caixa de di logo most
51. spon veis para retro compatibilidade aconselhado o uso de SHA 1 para novas aplica es 2 2 20 CryptDestroy Hash BOOL WINAPI CryptDestroy Hash HCRYPTHASH hHash Esta chamada API implementada com base na documenta o MSDN 2 2 21 CryptVerify Signature BOOL WINAPI CryptVerifySignature HCRYPTHASH hHash BYTE pbSignature DWORD dwSigLen HCRYPTKEY hPubkKey LPCTSTR sDescription DWORD dwFlags Esta fun o implementada por motivos de conveni ncia Esta chamada delegada para a base CSP Manual t cnico do Middleware Cart o de Cidad o 1 60 0 17 53 Outubro 2015 CART O DE CIDAD O 0 000 2 2 22 CryptGenRandom BOOL WINAPI CryptGenRandom HCRYPTPROV hProv DWORD dwLen BYTE pbBuffer Esta chamada API implementada com base na documenta o MSDN Os dados inseridos atrav s de pbBuffer ser o usados como origem para a gera o aleat ria 2 2 23 CryptGetUserKey BOOL CryptGetUserKey HCRYPTPROV hProv DWORD dwkKeySpec HCRYPTKEY phUserKey Esta chamada devolve um handle para a chave p blica do contentor de chaves que foi definido atrav s de CryptAcquireContext Especificar AT SIGNATURE para o par metro dwKeySpec n o suficiente porque com essa informa o o CSP n o consegue determinar que chave de assinatura devolver Por este motivo a chave a carregar tem de ser primeiro especificada atrav s de CryptAcquireContext 2 2 24 CryptDuplicateHash BOO
52. ulServerCaCertLen tProxyInfo proxyInfo const char pszOldPin const char pszNewPin long triesLeft Iniciar uma altera o do PIN CAP A fun o devolve c digos de erro gen ricos Para saber mais detalhes sobre um erro podem ser utilizadas as fun es PTEID CAP GetCapPinChangeProgress PTEID GetLastWebErrorCode e PTEID GetLasWebErrorMessage Par metros csServer in Endere o do servidor no formato lt nome gt lt porto gt ucServerCaCert in Certificado da AC do servidor codificado em DER ulServerCaCertLen in Comprimento do certificado da AC do servidor proxylnfo in Dados do servidor proxy ou NULL se n o for necess rio pszOldPin in O PIN CAP actual pszNewPin in O novo PIN CAP que se pretende triesLeft out O n mero de tentativas restantes para alterar o PIN CAP 4 5 4 PTEID CAP GetCapPinChangeProgress tCapPinChangeState PTEID CAP GetCapPinChangeProgress Permite saber o estado de uma opera o de altera o do PIN CAP enquanto esta decorre Os valores poss veis de retorno s o CAP INITIALISING A inicializar a altera o de PIN Manual t cnico do Middleware Cart o de Cidad o 1 60 0 28 53 Outubro 2015 KG CART O DE CIDAD O 0 000 CAP CONNECTING A ligar ao servidor CAP READING INFO A ler informa o do cart o CAP SENDING INFO A enviar os dados para o servidor CAP WRITE A escrever os dados no cart o CAP FINISH A terminar a transa o enviar resultado par
Download Pdf Manuals
Related Search
Related Contents
取扱説明書 Mobotix D22 User manual ONIDA G9 User Manual NOTE Copyright © All rights reserved.
Failed to retrieve file