Assinatura Digital

0 respostas
F

Estou desenvolvendo um pequeno assinador digital, porém buscando exemplos na internet encontrei um que gera o contéudo do arquivo e a assinatura da seguinte forma;

//Gerar assinatura
			geradorAss.update(txtContrato.getBytes());
			byte[] assinatura = geradorAss.sign();

			//Grava os dados do contrato e a assinatura  num arquivo properties
			Properties p = new Properties();

			p.put("dadosContrato", txtContrato);
			p.put("assinatura", CriptoUtils.byteArrayToHexString(assinatura));


            //arquivo gravado dado.properties
			p.store(new FileOutputStream("dado.properties"), null);

utliza Properties e ae na validação é feito da seguinte forma:

Properties p = new Properties();
      p.load(new FileInputStream("dado.properties"));

      //Captura os dados do contrato
      String contratoAssinado = (String)p.get("dadosContrato");

      System.out.println("Contrato: " + contratoAssinado);
      System.out.println("Assinatura: " + (String)p.get("assinatura"));

      //Captura assinatura
      byte[] assinatura = CriptoUtils.hexStringToByteArray((String)p.get("assinatura"));

      //valida o dado
      sig.update(contratoAssinado.getBytes());

      //faz a verificação da integridade dos dados e da validade da assinatura
      if (sig.verify(assinatura)) {
      	System.out.println("Assinatura oK!");
      } else {
      	System.out.println("Erro, assinatura não confere!");
      }

O que gostaria de fazer é gravar essa assinatura em um arquivo word e não no properties.
Estou usando a biblioteca POI da apache para leitura de .doc creio que ela possa ser utilizada para gravação. A minha dúvida é como concatenar a string de assinatura e recupera-la como é feito no Properties.

Criado 16 de outubro de 2007
Respostas 0
Participantes 1