Example usage for org.apache.commons.codec.digest DigestUtils sha

List of usage examples for org.apache.commons.codec.digest DigestUtils sha

Introduction

In this page you can find the example usage for org.apache.commons.codec.digest DigestUtils sha.

Prototype

@Deprecated
    public static byte[] sha(String data) 

Source Link

Usage

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();
}