public String writeSignature(String signature, HttpRequest request, HttpParameters requestParameters) { StringBuilder sb = new StringBuilder(); sb.append("OAuth "); // add the realm parameter, if any if (requestParameters.containsKey("realm")) { sb.append(requestParameters.getAsHeaderElement("realm")); sb.append(", "); } // add all (x_)oauth parameters HttpParameters oauthParams = requestParameters.getOAuthParameters(); oauthParams.put(OAuth.OAUTH_SIGNATURE, signature, true); Iterator<String> iter = oauthParams.keySet().iterator(); while (iter.hasNext()) { String key = iter.next(); sb.append(oauthParams.getAsHeaderElement(key)); if (iter.hasNext()) { sb.append(", "); } } String header = sb.toString(); OAuth.debugOut("Auth Header", header); request.setHeader(OAuth.HTTP_AUTHORIZATION_HEADER, header); return header; }
@Override public String sign(HttpRequest request, HttpParameters requestParams) throws OAuthMessageSignerException { try { String keyString = OAuth.percentEncode(getConsumerSecret()) + '&' + OAuth.percentEncode(getTokenSecret()); byte[] keyBytes = keyString.getBytes(OAuth.ENCODING); SecretKey key = new SecretKeySpec(keyBytes, MAC_NAME); Mac mac = Mac.getInstance(MAC_NAME); mac.init(key); String sbs = new SignatureBaseString(request, requestParams).generate(); OAuth.debugOut("SBS", sbs); byte[] text = sbs.getBytes(OAuth.ENCODING); return base64Encode(mac.doFinal(text)).trim(); } catch (GeneralSecurityException e) { throw new OAuthMessageSignerException(e); } catch (UnsupportedEncodingException e) { throw new OAuthMessageSignerException(e); } } }
@Override public String sign(HttpRequest request, HttpParameters requestParams) throws OAuthMessageSignerException { try { String keyString = OAuth.percentEncode(getConsumerSecret()) + '&' + OAuth.percentEncode(getTokenSecret()); byte[] keyBytes = keyString.getBytes(OAuth.ENCODING); SecretKey key = new SecretKeySpec(keyBytes, MAC_NAME); Mac mac = Mac.getInstance(MAC_NAME); mac.init(key); String sbs = new SignatureBaseString(request, requestParams).generate(); OAuth.debugOut("SBS", sbs); byte[] text = sbs.getBytes(OAuth.ENCODING); return base64Encode(mac.doFinal(text)).trim(); } catch (GeneralSecurityException e) { throw new OAuthMessageSignerException(e); } catch (UnsupportedEncodingException e) { throw new OAuthMessageSignerException(e); } } }
public synchronized HttpRequest sign(HttpRequest request) throws OAuthMessageSignerException, OAuthExpectationFailedException, OAuthCommunicationException { if (consumerKey == null) { throw new OAuthExpectationFailedException("consumer key not set"); } if (consumerSecret == null) { throw new OAuthExpectationFailedException("consumer secret not set"); } requestParameters = new HttpParameters(); try { if (additionalParameters != null) { requestParameters.putAll(additionalParameters, false); } collectHeaderParameters(request, requestParameters); collectQueryParameters(request, requestParameters); collectBodyParameters(request, requestParameters); // add any OAuth params that haven't already been set completeOAuthParameters(requestParameters); requestParameters.remove(OAuth.OAUTH_SIGNATURE); } catch (IOException e) { throw new OAuthCommunicationException(e); } String signature = messageSigner.sign(request, requestParameters); OAuth.debugOut("signature", signature); signingStrategy.writeSignature(signature, request, requestParameters); OAuth.debugOut("Request URL", request.getRequestUrl()); return request; }
@Override public String sign(HttpRequest request, HttpParameters requestParams) throws OAuthMessageSignerException { try { Signature signer = Signature.getInstance("SHA256withRSA"); signer.initSign(signingPrivateKey); String sbs = new SignatureBaseString(request, requestParams).generate(); OAuth.debugOut("SBS", sbs); byte[] text = sbs.getBytes(OAuth.ENCODING); signer.update(text); return CryptUtil.byteArrayToString(signer.sign(), DataEncoding.BASE64); } catch (Exception e) { throw new OAuthMessageSignerException(e); } }
public String writeSignature(String signature, HttpRequest request, HttpParameters requestParameters) { StringBuilder sb = new StringBuilder(); sb.append("OAuth "); // add the realm parameter, if any if (requestParameters.containsKey("realm")) { sb.append(requestParameters.getAsHeaderElement("realm")); sb.append(", "); } // add all (x_)oauth parameters HttpParameters oauthParams = requestParameters.getOAuthParameters(); oauthParams.put(OAuth.OAUTH_SIGNATURE, signature, true); Iterator<String> iter = oauthParams.keySet().iterator(); while (iter.hasNext()) { String key = iter.next(); sb.append(oauthParams.getAsHeaderElement(key)); if (iter.hasNext()) { sb.append(", "); } } String header = sb.toString(); OAuth.debugOut("Auth Header", header); request.setHeader(OAuth.HTTP_AUTHORIZATION_HEADER, header); return header; }
@Override public String sign(HttpRequest request, HttpParameters requestParams) throws OAuthMessageSignerException { try { String keyString = OAuth.percentEncode(getConsumerSecret()) + '&' + OAuth.percentEncode(getTokenSecret()); byte[] keyBytes = keyString.getBytes(OAuth.ENCODING); SecretKey key = new SecretKeySpec(keyBytes, MAC_NAME); Mac mac = Mac.getInstance(MAC_NAME); mac.init(key); String sbs = new SignatureBaseString(request, requestParams).generate(); OAuth.debugOut("SBS", sbs); byte[] text = sbs.getBytes(OAuth.ENCODING); return base64Encode(mac.doFinal(text)).trim(); } catch (GeneralSecurityException e) { throw new OAuthMessageSignerException(e); } catch (UnsupportedEncodingException e) { throw new OAuthMessageSignerException(e); } } }
public synchronized HttpRequest sign(HttpRequest request) throws OAuthMessageSignerException, OAuthExpectationFailedException, OAuthCommunicationException { if (consumerKey == null) { throw new OAuthExpectationFailedException("consumer key not set"); } if (consumerSecret == null) { throw new OAuthExpectationFailedException("consumer secret not set"); } requestParameters = new HttpParameters(); try { if (additionalParameters != null) { requestParameters.putAll(additionalParameters, false); } collectHeaderParameters(request, requestParameters); collectQueryParameters(request, requestParameters); collectBodyParameters(request, requestParameters); // add any OAuth params that haven't already been set completeOAuthParameters(requestParameters); requestParameters.remove(OAuth.OAUTH_SIGNATURE); } catch (IOException e) { throw new OAuthCommunicationException(e); } String signature = messageSigner.sign(request, requestParameters); OAuth.debugOut("signature", signature); signingStrategy.writeSignature(signature, request, requestParameters); OAuth.debugOut("Request URL", request.getRequestUrl()); return request; }