API Java
HSM Dinamo
Cargando...
Buscando...
No se han encontrado entradas
SignVerifyPIXJWS.java

Ejemplo de firma y validación del estándar PIX JWS definido en el SPI (Sistema de Pago Instantáneo).

Véase la nota sobre ejemplos.
paquete doxy.examples;
import java.io.IOException;
import com.dinamonetworks.Dinamo;
import com.dinamonetworks.JwsComponents;
public clase SignVerifyPIXJWS {
public static void main(String[] args) throws IOException {
String strAddr = "127.0.0.1";
String strUsrId = "maestro";
String strPwd = "12345678";
int nPuerto = 4433;
int nFlags = 0;
String header = "{\"alg\":\"RS256\"}";
String payload = "{\"iss\":\"joe\"," +
"\"exp\":1300819380," +
"\"http://example.com/is_root\":true}";
Dinamo api = new Dinamo();
intentar {
api.openSession(strAddr, strUsrId, strPwd, nPort, nFlags);
System.out.println("Conectado");
String strPrivKeyId = "key"; //Nombre de la clave en HSM
byte[] signedJWS = api.signPIXJWS(strPrivKeyId,
header.getBytes("UTF-8"),
payload.getBytes("UTF-8"));
System.out.println(new String(signedJWS));
String strChainId = "key_chain"; //Nombre de la cadena de certificados en el HSM
//Opção 1 de validação de assinatura PIX JWS
boolean ret = api.checkPIXJWS(strChainId, null, signedJWS);
System.out.println("Firma correcta: " + ret);
//Opção 2 de validação de assinatura PIX JWS
JwsComponents jwsComponents = api.checkPIXJWS(strChainId, null, signedJWS, 0);
System.out.println("Encabezado: " + new String(jwsComponents.getHeader()));
System.out.println("Carga útil: " + new String(jwsComponents.getPayload());
System.out.println("Código de retorno: " + jwsComponents.getRet_code());
System.out.println("Firma correcta: " + (jwsComponents.getRet_code() == 0));
api.closeSession();
} catch (br.com.trueaccess.TacException e) {
e.printStackTrace();
}
System.out.println("Finalizado.");
}
}