List of usage examples for org.apache.commons.codec.digest DigestUtils sha
@Deprecated public static byte[] sha(String data)
From source file:com.aimluck.eip.services.social.ALSocialApplicationHandler.java
protected String generateConsumerKey(String url) { return new StringBuilder( Database.getDomainName())/*from w w w .ja v a 2s . co m*/ .append(":") .append(new String(Base64.encodeBase64(DigestUtils.sha(new StringBuilder() .append(System.nanoTime()).append("::").append(url).toString().getBytes()))) .replace("=", "")) .toString(); }
From source file:com.jivesoftware.licenseserver.SignedFetchInterceptor.java
protected OAuthMessage sign(String method, String uri, String postBody, Collection<OAuth.Parameter> params, String opensocialParams, Map<String, String> context) throws OAuthException { if (uri == null) return null; UriBuilder target = UriBuilder.parse(uri); String query = target.getQuery(); target.setQuery(null);/*from w w w. j ava2 s. c om*/ params.addAll(OAuth.decodeForm(query)); if (opensocialParams != null) params.addAll(OAuth.decodeForm(opensocialParams)); OAuthUtil.SignatureType signatureType = OAuthUtil.SignatureType.URL_ONLY; if (postBody != null) signatureType = OAuthUtil.SignatureType.URL_AND_FORM_PARAMS; switch (signatureType) { case URL_ONLY: LOG.info("url_only"); break; case URL_AND_FORM_PARAMS: try { params.addAll(OAuth.decodeForm(postBody)); } catch (IllegalArgumentException e) { // Occurs if OAuth.decodeForm finds an invalid URL to decode. throw new OAuthException("Could not decode body", e); } break; case URL_AND_BODY_HASH: try { byte[] body = IOUtils.toByteArray(postBody); byte[] hash = DigestUtils.sha(body); String b64 = new String(Base64.encodeBase64(hash), Charsets.UTF_8.name()); params.add(new OAuth.Parameter(OAuthConstants.OAUTH_BODY_HASH, b64)); } catch (IOException e) { throw new OAuthException("Error taking body hash", e); } break; default: LOG.info("default"); break; } // authParams are parameters prefixed with 'xoauth' 'oauth' or 'opensocial', // trusted parameters have ability to override these parameters. List<OAuth.Parameter> authParams = Lists.newArrayList(); params.addAll(authParams); OAuthMessage message; try { String consumerKey = context.get("applicationConsumerKey"); String consumerSecret = context.get("applicationConsumerSecret"); if (consumerKey == null || consumerSecret == null) { throw new Exception( "Consumer key/secret not available, this Jive installation hasn't been properly registered with apps market"); } OAuthAccessor accessor = new OAuthAccessor(new OAuthConsumer(null, consumerKey, consumerSecret, null)); int index = uri.indexOf("?"); if (index != -1) { uri = uri.substring(0, index); } message = accessor.newRequestMessage(method == null ? "GET" : method, uri, params); } catch (Exception e) { throw new OAuthException(e); } return message; }
From source file:monasca.thresh.infrastructure.persistence.AlarmDAOImpl.java
private Sha1HashId insertMetricDefinitionDimension(Handle h, MetricDefinitionAndTenantId mdtid) { final Sha1HashId metricDefinitionId = insertMetricDefinition(h, mdtid); final Sha1HashId metricDimensionSetId = insertMetricDimensionSet(h, mdtid.metricDefinition.dimensions); final byte[] definitionDimensionsIdSha1Hash = DigestUtils .sha(metricDefinitionId.toHexString() + metricDimensionSetId.toHexString()); h.insert(/*from www . j a v a2 s . c o m*/ "insert into metric_definition_dimensions (id, metric_definition_id, metric_dimension_set_id) values (?, ?, ?)" + "on duplicate key update id=id", definitionDimensionsIdSha1Hash, metricDefinitionId.getSha1Hash(), metricDimensionSetId.getSha1Hash()); return new Sha1HashId(definitionDimensionsIdSha1Hash); }
From source file:com.archivas.clienttools.arcutils.utils.net.SSLCertChain.java
public String getShaFingerprintString() { X509Certificate cert = getCertificateList().get(0); String s = null;//from w w w. j a v a 2 s.c o m try { s = byteArrayToColonSeparatedHexString(DigestUtils.sha(cert.getTBSCertificate()), ":"); } catch (CertificateEncodingException e) { LOG.log(Level.WARNING, "Error generating MD5 Fingerprint for SSL Certificate : " + toString()); } return s; }
From source file:monasca.thresh.infrastructure.persistence.AlarmDAOImpl.java
private byte[] calculateDimensionSHA1(final Map<String, String> dimensions) { // Calculate dimensions sha1 hash id. final StringBuilder dimensionIdStringToHash = new StringBuilder(""); if (dimensions != null) { // Sort the dimensions on name and value. TreeMap<String, String> dimensionTreeMap = new TreeMap<>(dimensions); for (String dimensionName : dimensionTreeMap.keySet()) { if (dimensionName != null && !dimensionName.isEmpty()) { String dimensionValue = dimensionTreeMap.get(dimensionName); if (dimensionValue != null && !dimensionValue.isEmpty()) { dimensionIdStringToHash.append(trunc(dimensionName, MAX_COLUMN_LENGTH)); dimensionIdStringToHash.append(trunc(dimensionValue, MAX_COLUMN_LENGTH)); }// w w w. j a v a 2 s . c o m } } } final byte[] dimensionIdSha1Hash = DigestUtils.sha(dimensionIdStringToHash.toString()); return dimensionIdSha1Hash; }
From source file:monasca.thresh.infrastructure.persistence.AlarmDAOImpl.java
private Sha1HashId insertMetricDefinition(Handle h, MetricDefinitionAndTenantId mdtid) { final String region = ""; // TODO We currently don't have region final String definitionIdStringToHash = trunc(mdtid.metricDefinition.name, MAX_COLUMN_LENGTH) + trunc(mdtid.tenantId, MAX_COLUMN_LENGTH) + trunc(region, MAX_COLUMN_LENGTH); final byte[] id = DigestUtils.sha(definitionIdStringToHash); h.insert("insert into metric_definition(id, name, tenant_id) values (?, ?, ?) " + "on duplicate key update id=id", id, mdtid.metricDefinition.name, mdtid.tenantId); return new Sha1HashId(id); }
From source file:monasca.persister.repository.vertica.VerticaMetricRepo.java
@Override public void addToBatch(MetricEnvelope metricEnvelope, String id) { Metric metric = metricEnvelope.metric; Map<String, Object> metaMap = metricEnvelope.meta; String tenantId = getMeta(TENANT_ID, metric, metaMap, id); String region = getMeta(REGION, metric, metaMap, id); // Add the definition to the batch. StringBuilder definitionIdStringToHash = new StringBuilder(trunc(metric.getName(), MAX_COLUMN_LENGTH, id)); definitionIdStringToHash.append(trunc(tenantId, MAX_COLUMN_LENGTH, id)); definitionIdStringToHash.append(trunc(region, MAX_COLUMN_LENGTH, id)); byte[] definitionIdSha1Hash = DigestUtils.sha(definitionIdStringToHash.toString()); Sha1HashId definitionSha1HashId = new Sha1HashId((definitionIdSha1Hash)); addDefinitionToBatch(definitionSha1HashId, trunc(metric.getName(), MAX_COLUMN_LENGTH, id), trunc(tenantId, MAX_COLUMN_LENGTH, id), trunc(region, MAX_COLUMN_LENGTH, id), id); // Calculate dimensions sha1 hash id. StringBuilder dimensionIdStringToHash = new StringBuilder(); Map<String, String> preppedDimMap = prepDimensions(metric.getDimensions(), id); for (Map.Entry<String, String> entry : preppedDimMap.entrySet()) { dimensionIdStringToHash.append(entry.getKey()); dimensionIdStringToHash.append(entry.getValue()); }// w w w. ja v a2s. c o m byte[] dimensionIdSha1Hash = DigestUtils.sha(dimensionIdStringToHash.toString()); Sha1HashId dimensionsSha1HashId = new Sha1HashId(dimensionIdSha1Hash); // Add the dimension name/values to the batch. addDimensionsToBatch(dimensionsSha1HashId, preppedDimMap, id); // Add the definition dimensions to the batch. StringBuilder definitionDimensionsIdStringToHash = new StringBuilder(definitionSha1HashId.toHexString()); definitionDimensionsIdStringToHash.append(dimensionsSha1HashId.toHexString()); byte[] definitionDimensionsIdSha1Hash = DigestUtils.sha(definitionDimensionsIdStringToHash.toString()); Sha1HashId definitionDimensionsSha1HashId = new Sha1HashId(definitionDimensionsIdSha1Hash); addDefinitionDimensionToBatch(definitionDimensionsSha1HashId, definitionSha1HashId, dimensionsSha1HashId, id); // Add the measurement to the batch. String timeStamp = simpleDateFormat.format(new Date(metric.getTimestamp())); double value = metric.getValue(); addMetricToBatch(definitionDimensionsSha1HashId, timeStamp, value, metric.getValueMeta(), id); }
From source file:be.fedict.eid.dss.protocol.simple.client.SignatureResponseProcessor.java
private void verifyServiceSignature(String serviceSigned, String target, String signatureRequest, String signatureRequestId, String signatureResponse, String signatureResponseId, String encodedSignatureCertificate, byte[] serviceSignatureValue, List<X509Certificate> serviceCertificateChain) throws CertificateException, NoSuchAlgorithmException, InvalidKeyException, SignatureException { LOG.debug("verifying service signature"); X509Certificate serviceCertificate = serviceCertificateChain.get(0); LOG.debug("service identity: " + serviceCertificate.getSubjectX500Principal()); Signature serviceSignature = Signature.getInstance("SHA1withRSA"); serviceSignature.initVerify(serviceCertificate); StringTokenizer serviceSignedStringTokenizer = new StringTokenizer(serviceSigned, ","); while (serviceSignedStringTokenizer.hasMoreTokens()) { String serviceSignedElement = serviceSignedStringTokenizer.nextToken(); LOG.debug("service signed: " + serviceSignedElement); byte[] data; if ("target".equals(serviceSignedElement)) { data = target.getBytes();//w w w . j a v a 2 s . c om } else if ("SignatureRequest".equals(serviceSignedElement)) { data = signatureRequest.getBytes(); } else if ("SignatureRequestId".equals(serviceSignedElement)) { data = signatureRequestId.getBytes(); } else if ("SignatureResponse".equals(serviceSignedElement)) { data = signatureResponse.getBytes(); } else if ("SignatureResponseId".equals(serviceSignedElement)) { data = signatureResponseId.getBytes(); } else if ("SignatureCertificate".equals(serviceSignedElement)) { data = encodedSignatureCertificate.getBytes(); } else { throw new SecurityException("service signed unknown element: " + serviceSignedElement); } serviceSignature.update(data); } boolean valid = serviceSignature.verify(serviceSignatureValue); if (!valid) { throw new SecurityException("service signature not valid"); } if (null != this.serviceFingerprint) { LOG.debug("checking service fingerprint"); byte[] actualServiceFingerprint = DigestUtils.sha(serviceCertificate.getEncoded()); if (!Arrays.equals(this.serviceFingerprint, actualServiceFingerprint)) { throw new SecurityException("service certificate fingerprint mismatch"); } } }
From source file:monasca.thresh.infrastructure.persistence.hibernate.AlarmSqlImpl.java
private MetricDefinitionDimensionsDb insertMetricDefinitionDimension(final Session session, final MetricDefinitionAndTenantId mdtId) { final MetricDefinitionDb metricDefinition = this.insertMetricDefinition(session, mdtId); final BinaryId metricDimensionSetId = this.insertMetricDimensionSet(session, mdtId.metricDefinition.dimensions); final byte[] definitionDimensionsIdSha1Hash = DigestUtils .sha(metricDefinition.getId().toHexString() + metricDimensionSetId.toHexString()); final MetricDefinitionDimensionsDb metricDefinitionDimensions = new MetricDefinitionDimensionsDb( definitionDimensionsIdSha1Hash, metricDefinition, metricDimensionSetId); return (MetricDefinitionDimensionsDb) session.merge(metricDefinitionDimensions); }
From source file:com.wavylabs.microbox.api.WaveService.java
/** * Creates a URL that contains the necessary OAuth query parameters for the * given JSON string./*from w w w . j ava 2 s .co m*/ * * The required OAuth parameters are: * <ul> * <li>oauth_body_hash</li> * <li>oauth_consumer_key</li> * <li>oauth_signature_method</li> * <li>oauth_timestamp</li> * <li>oauth_nonce</li> * <li>oauth_version</li> * <li>oauth_signature</li> * </ul> * * @param jsonBody the JSON string to construct the URL from. * @param rpcServerUrl the URL of the handler that services the JSON-RPC * request. * @param accessor the OAuth accessor used to create the signed string. * @return a URL for the given JSON string, and the required OAuth parameters. */ public static String createOAuthUrlString(String jsonBody, String rpcServerUrl, OAuthAccessor accessor) throws IOException, URISyntaxException, OAuthException { OAuthMessage message = new OAuthMessage(POST, rpcServerUrl, Collections.<SimpleEntry<String, String>>emptyList()); // Compute the hash of the body. byte[] rawBody = jsonBody.getBytes(UTF_8); byte[] hash = DigestUtils.sha(rawBody); byte[] encodedHash = Base64.encodeBase64(hash); message.addParameter(OAUTH_BODY_HASH, new String(encodedHash, UTF_8)); // Add other parameters. message.addRequiredParameters(accessor); LOG.info("Signature base string: " + OAuthSignatureMethod.getBaseString(message)); // Construct the resulting URL. StringBuilder sb = new StringBuilder(rpcServerUrl); char connector = '?'; for (Map.Entry<String, String> p : message.getParameters()) { if (!p.getKey().equals(jsonBody)) { sb.append(connector); sb.append(URLEncoder.encode(p.getKey(), UTF_8)); sb.append('='); sb.append(URLEncoder.encode(p.getValue(), UTF_8)); connector = '&'; } } return sb.toString(); }