12.07.2015 Views

JCML - Java Card Modeling Language: Definição e ... - Ifrn

JCML - Java Card Modeling Language: Definição e ... - Ifrn

JCML - Java Card Modeling Language: Definição e ... - Ifrn

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

CAPÍTULO 2. SMART CARDS 3201 public static void install(byte[] bArray, short bOffset,02 byte bLength) {03 new UsuarioApplet(bArray, bOffset, bLength);04 }Figura 2.9: Método install de UsuarioApplet.01 private UsuarioApplet(byte[] bArray, short bOffset, byte bLength) {02 super();03 u = new Usuario();04 pin = new OwnerPIN(MAXIMO_TENTATIVAS_PIN, TAMANHO_MAXIMO_PIN);05 pin.update(bArray, bOffset, bLength);06 register();07 }Figura 2.10: Construtor UsuarioApplet.sentam valores que são retornados ao usuário caso alguma exceção ocorra, por exemplo,problemas com a senha inválida ou quantidades de tentativas na verificaçao de senha (constanteMAXIMO TENTATIVAS PIN). Outros tipos de constantes também podem aparecerna estrutura inicial de um applet, com o objetivo de auxiliar a implementação.O construtor do applet deve ser privado, uma vez que a criação de um do applet deveser feita apenas pelo JCRE através da chamada do método install, que chama o construtordo applet (Figura 2.9).O método install é definido na classe javacard.framework.Applet, e é neste métodoque se deve colocar o código para criação do applet. A chamada ao método register, paraque o applet seja registrado no JCRE, pode ser realizada no método construtor.Na Figura 2.10 é apresentado o construtor da classe UsuarioApplet. Nele, é criadauma instância da entidade de domínio Usuario, que encapsula as propriedades e comportamentosde um usuário e uma instância do objeto pin.Um PIN (Personal Identification Number) é um número de segurança, que deve serfornecido antes do applet ser selecionado. Caso o número de tentativas de autenticaçãoexceda o valor da constante que representa o número máximo de tentativas, o cartão ébloqueado. Caso o usuário seja bem sucedido na autenticação, este poderá executar asfunções que são de direito.O método process recebe os comandos APDU enviados pela aplicação host. O campoINS do APDU é recebido e verificado com o objetivo de determinar qual operação deve

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!