List of usage examples for org.bouncycastle.tsp TimeStampRequest getReqPolicy
public ASN1ObjectIdentifier getReqPolicy()
From source file:org.signserver.client.cli.defaultimpl.TimeStampCommand.java
License:Open Source License
private void tsaPrintQuery() throws Exception { final byte[] bytes = readFiletoBuffer(inreqstring); final TimeStampRequest request; out.println("Time-stamp request {"); request = new TimeStampRequest(bytes); out.println(" Version: " + request.getVersion()); out.print(" Message imprint digest: "); out.println(new String(Hex.encode(request.getMessageImprintDigest()))); out.print(" Message imprint algorithm: "); out.println(request.getMessageImprintAlgOID()); out.print(" Policy: "); out.println(request.getReqPolicy() != null ? request.getReqPolicy() : "(null)"); out.print(" Nonce: "); out.println(request.getNonce() != null ? request.getNonce().toString(16) : "(null)"); out.print(" Request certificates: "); out.println(request.getCertReq());/*from w w w .j a v a2s . c o m*/ if (request.hasExtensions()) { out.print(" Extensions: "); for (Object oid : request.getExtensionOIDs()) { if (oid instanceof String) { out.print(" " + oid + ": "); out.println(new String(Hex.encode(request.getExtensionValue((String) oid)))); } } } out.println("}"); }
From source file:org.signserver.module.tsa.RequestedPolicyDispatcher.java
License:Open Source License
@Override public ProcessResponse processData(final ProcessRequest signRequest, final RequestContext context) throws IllegalRequestException, CryptoTokenOfflineException, SignServerException { final GenericSignResponse result; // Log values final LogMap logMap = LogMap.getInstance(context); // Check context final RequestContext nextContext = context; if (context.get(this.getClass().getName()) != null) { throw new SignServerException("Dispatcher called more then one time for the same request. Aborting."); } else {//from ww w .j av a 2s. c om context.put(this.getClass().getName(), "called"); } // Check that the request contains a valid TimeStampRequest object. if (!(signRequest instanceof GenericSignRequest)) { throw new IllegalRequestException("Recieved request wasn't a expected GenericSignRequest."); } final ISignRequest sReq = (ISignRequest) signRequest; // Get TimeStampRequest final TimeStampRequest timeStampRequest; if (sReq.getRequestData() instanceof TimeStampRequest) { timeStampRequest = (TimeStampRequest) sReq.getRequestData(); } else if (sReq.getRequestData() instanceof byte[]) { try { timeStampRequest = new TimeStampRequest((byte[]) sReq.getRequestData()); } catch (IOException ex) { throw new IllegalRequestException("Could not parse TimeStampRequest", ex); } } else { throw new IllegalRequestException("Expected a TimeStampRequest"); } try { // Add to context if (timeStampRequest.getReqPolicy() != null) { nextContext.put(TSA_REQUESTEDPOLICYOID, timeStampRequest.getReqPolicy().getId()); } // Find to which worker the request should be dispatched final String toWorker = lookupWorkerToDispatchTo(timeStampRequest, context); if (toWorker == null) { final TimeStampResponseGenerator gen = new TimeStampResponseGenerator(null, null); final String statusString = includeStatusString ? "request contains unknown policy." : null; final TimeStampResponse resp = gen.generateFailResponse(PKIStatus.REJECTION, PKIFailureInfo.unacceptedPolicy, statusString); // Auditlog logMap.put(IWorkerLogger.LOG_CLIENT_AUTHORIZED, "false"); logMap.put(IWorkerLogger.LOG_EXCEPTION, "requested policy not supported"); result = new GenericServletResponse(sReq.getRequestID(), resp.getEncoded(), null, null, null, RESPONSE_CONTENT_TYPE); } else { int toWorkerId = 0; try { toWorkerId = Integer.parseInt(toWorker); } catch (NumberFormatException ignored) { } if (toWorkerId < 1) { toWorkerId = getWorkerSession().getWorkerId(toWorker); } // Mark request comming from a dispatcher so the DispatchedAuthorizer can be used context.put(RequestContext.DISPATCHER_AUTHORIZED_CLIENT, true); HttpServletRequest httpRequest = null; if (sReq instanceof GenericServletRequest) { httpRequest = ((GenericServletRequest) sReq).getHttpServletRequest(); } ProcessRequest newRequest = new GenericServletRequest(sReq.getRequestID(), (byte[]) sReq.getRequestData(), httpRequest); result = (GenericSignResponse) getWorkerSession().process(toWorkerId, newRequest, context); } } catch (IOException e) { logMap.put(ITimeStampLogger.LOG_TSA_EXCEPTION, e.getMessage()); throw new SignServerException("Response message could not be constructed", e); } catch (TSPException e) { throw new SignServerException("Response message could not be constructed", e); } return result; }
From source file:org.signserver.module.tsa.RequestedPolicyDispatcher.java
License:Open Source License
protected String lookupWorkerToDispatchTo(TimeStampRequest timeStampRequest, RequestContext requestContext) { String result;//from ww w. j a va 2 s. c o m if (timeStampRequest.getReqPolicy() == null) { result = defaultWorker; } else { result = workerMapping.get(timeStampRequest.getReqPolicy().getId()); if (result == null && useDefaultIfMismatch) { result = defaultWorker; } } return result; }