import iaik.pkcs.pkcs11.Module; import iaik.pkcs.pkcs11.Info; import iaik.pkcs.pkcs11.Slot; public class PKCS11Test { public static void main(String[] args) throws Exception { Module pkcs11Module = Module.getInstance(args[0]); pkcs11Module.initialize(null); pkcs11Module.finalize(null); } }
try { Module module = Module.getInstance(value); module.initialize(null); Slot[] slots = module.getSlotList(true); TokenInfo[] infos = new TokenInfo[slots.length]; for (int i = 0; i < slots.length; i++) { infos[i] = slots[i].getToken().getTokenInfo(); } printTokenInfos(infos); if (slots.length == 0) { System.err.println("No token available!"); return; } } catch (TokenException | IOException e1) { e1.printStackTrace(); } [...] private void printTokenInfos(TokenInfo[] infos) { int counter = 0; for (TokenInfo info : infos) { System.out.println("Token: " + counter++); System.out.println(info); } } //"value" passed to Module's getInstance method is th path for .dll module //used for one's type of card.
pkcs11Module.initialize(null);
pkcs11Module.initialize(null);
public <C extends Command> Module executeCommand(final Class<C> cmdClass, final Map<String, Object> inputs) { final Module module = moduleService.createModule(cmdService.getCommand(cmdClass)); try { module.initialize(); } catch (final MethodCallException ex) { ex.printStackTrace(); } if (inputs != null) { inputs.forEach((k, v) -> { module.setInput(k, v); module.resolveInput(k); }); } cmdService.run(cmdClass, true, inputs); module.run(); final Future<Module> run = moduleService.run(module, true, inputs); try { run.get(); } catch (final InterruptedException ex) { ex.printStackTrace(); } catch (final ExecutionException ex) { ex.printStackTrace(); } return module; }
@Override public void process(final Module module) { try { module.initialize(); if (isCanceled(module)) cancel(getCancelReason(module)); } catch (final MethodCallException exc) { if (log != null) log.error(exc); final String moduleClass = module.getInfo().getDelegateClassName(); cancel("The module \"" + moduleClass + "\" failed to initialize."); } }
@Override public void process(final Module module) { try { module.initialize(); if (isCanceled(module)) cancel(getCancelReason(module)); } catch (final MethodCallException exc) { if (log != null) log.error(exc); final String moduleClass = module.getInfo().getDelegateClassName(); cancel("The module \"" + moduleClass + "\" failed to initialize."); } }