@VisibleForTesting public String createStringToSign(HttpRequest request, Multimap<String, String> decodedParams) { utils.logRequest(signatureLog, request, ">>"); // encode each parameter value first, ImmutableSortedSet.Builder<String> builder = ImmutableSortedSet.naturalOrder(); for (Map.Entry<String, String> entry : decodedParams.entries()) builder.add(entry.getKey() + "=" + Strings2.urlEncode(entry.getValue())); // then, lower case the entire query string String stringToSign = Joiner.on('&').join(builder.build()).toLowerCase(); if (signatureWire.enabled()) signatureWire.output(stringToSign); return stringToSign; }
/** * before class, as we need to ensure that the filter is threadsafe. * * @throws IOException * */ @BeforeClass protected void createFilter() throws IOException { Injector injector = ContextBuilder.newBuilder(new ChefApiMetadata()).credentials(USER_ID, PRIVATE_KEY) .modules(ImmutableSet.<Module> of(new MockModule(), new NullLoggingModule())).buildInjector(); HttpUtils utils = injector.getInstance(HttpUtils.class); Crypto crypto = injector.getInstance(Crypto.class); Supplier<PrivateKey> privateKey = injector.getInstance(Key.get(new TypeLiteral<Supplier<PrivateKey>>() { })); signing_obj = new SignedHeaderAuth(new SignatureWire(), Suppliers.ofInstance(new Credentials(USER_ID, PRIVATE_KEY)), privateKey, new Provider<String>() { @Override public String get() { return TIMESTAMP_ISO8601; } }, utils, crypto); }
/** * before class, as we need to ensure that the filter is threadsafe. * * @throws IOException * */ @BeforeClass protected void createFilter() throws IOException { Injector injector = ContextBuilder.newBuilder(new ChefApiMetadata()).credentials(USER_ID, PRIVATE_KEY) .modules(ImmutableSet.<Module> of(new MockModule(), new NullLoggingModule())).buildInjector(); HttpUtils utils = injector.getInstance(HttpUtils.class); Supplier<PrivateKey> privateKey = injector.getInstance(Key.get(new TypeLiteral<Supplier<PrivateKey>>() { })); signing_obj = new SignedHeaderAuth(new SignatureWire(), Suppliers.ofInstance(new Credentials(USER_ID, PRIVATE_KEY)), privateKey, new Provider<String>() { @Override public String get() { return TIMESTAMP_ISO8601; } }, utils); }
@VisibleForTesting public String createStringToSign(HttpRequest request, Multimap<String, String> decodedParams) { utils.logRequest(signatureLog, request, ">>"); StringBuilder stringToSign = new StringBuilder(); // StringToSign = HTTPVerb + "\n" + stringToSign.append(request.getMethod()).append("\n"); // ValueOfHostHeaderInLowercase + "\n" + stringToSign.append(request.getFirstHeaderOrNull(HttpHeaders.HOST).toLowerCase()).append("\n"); // HTTPRequestURI + "\n" + stringToSign.append(request.getEndpoint().getPath()).append("\n"); // CanonicalizedFormString <from the preceding step> stringToSign.append(buildCanonicalizedString(decodedParams)); if (signatureWire.enabled()) signatureWire.output(stringToSign.toString()); return stringToSign.toString(); }
@VisibleForTesting public String createStringToSign(HttpRequest request, Multimap<String, String> decodedParams) { utils.logRequest(signatureLog, request, ">>"); // encode each parameter value first, ImmutableSortedSet.Builder<String> builder = ImmutableSortedSet.naturalOrder(); for (Map.Entry<String, String> entry : decodedParams.entries()) builder.add(entry.getKey() + "=" + Strings2.urlEncode(entry.getValue())); // then, lower case the entire query string String stringToSign = Joiner.on('&').join(builder.build()).toLowerCase(); if (signatureWire.enabled()) signatureWire.output(stringToSign); return stringToSign; }
@VisibleForTesting public String createStringToSign(HttpRequest request, Multimap<String, String> decodedParams) { utils.logRequest(signatureLog, request, ">>"); StringBuilder stringToSign = new StringBuilder(); // StringToSign = HTTPVerb + "\n" + stringToSign.append(request.getMethod()).append("\n"); // ValueOfHostHeaderInLowercase + "\n" + stringToSign.append(request.getFirstHeaderOrNull(HttpHeaders.HOST).toLowerCase()).append("\n"); // HTTPRequestURI + "\n" + stringToSign.append(request.getEndpoint().getPath()).append("\n"); // CanonicalizedFormString <from the preceding step> stringToSign.append(buildCanonicalizedString(decodedParams)); if (signatureWire.enabled()) signatureWire.output(stringToSign.toString()); return stringToSign.toString(); }
@VisibleForTesting public String createStringToSign(HttpRequest request, Multimap<String, String> decodedParams) { utils.logRequest(signatureLog, request, ">>"); StringBuilder stringToSign = new StringBuilder(); // StringToSign = HTTPVerb + "\n" + stringToSign.append(request.getMethod()).append("\n"); // ValueOfHostHeaderInLowercase + "\n" + stringToSign.append(request.getFirstHeaderOrNull(HttpHeaders.HOST).toLowerCase()).append("\n"); // HTTPRequestURI + "\n" + stringToSign.append(request.getEndpoint().getPath()).append("\n"); // CanonicalizedFormString <from the preceding step> stringToSign.append(buildCanonicalizedString(decodedParams)); if (signatureWire.enabled()) signatureWire.output(stringToSign.toString()); return stringToSign.toString(); }
@VisibleForTesting public String createStringToSign(HttpRequest request, Multimap<String, String> decodedParams) { utils.logRequest(signatureLog, request, ">>"); StringBuilder stringToSign = new StringBuilder(); // StringToSign = HTTPVerb + "\n" + stringToSign.append(request.getMethod()).append("\n"); // ValueOfHostHeaderInLowercase + "\n" + stringToSign.append(request.getFirstHeaderOrNull(HttpHeaders.HOST).toLowerCase()).append("\n"); // HTTPRequestURI + "\n" + stringToSign.append(request.getEndpoint().getPath()).append("\n"); // CanonicalizedFormString <from the preceding step> stringToSign.append(buildCanonicalizedString(decodedParams)); if (signatureWire.enabled()) signatureWire.output(stringToSign.toString()); return stringToSign.toString(); }
@VisibleForTesting public String createStringToSign(HttpRequest request, Multimap<String, String> decodedParams) { utils.logRequest(signatureLog, request, ">>"); StringBuilder stringToSign = new StringBuilder(); // StringToSign = HTTPVerb + "\n" + stringToSign.append(request.getMethod()).append("\n"); // ValueOfHostHeaderInLowercase + "\n" + stringToSign.append(request.getFirstHeaderOrNull(HttpHeaders.HOST).toLowerCase()).append("\n"); // HTTPRequestURI + "\n" + stringToSign.append(request.getEndpoint().getPath()).append("\n"); // CanonicalizedFormString <from the preceding step> stringToSign.append(buildCanonicalizedString(decodedParams)); if (signatureWire.enabled()) signatureWire.output(stringToSign.toString()); return stringToSign.toString(); }
@VisibleForTesting public String createStringToSign(HttpRequest request, Multimap<String, String> decodedParams) { utils.logRequest(signatureLog, request, ">>"); // encode each parameter value first, ImmutableSortedSet.Builder<String> builder = ImmutableSortedSet.naturalOrder(); for (Map.Entry<String, String> entry : decodedParams.entries()) builder.add(entry.getKey() + "=" + Strings2.urlEncode(entry.getValue())); // then, lower case the entire query string String stringToSign = Joiner.on('&').join(builder.build()).toLowerCase(); if (signatureWire.enabled()) signatureWire.output(stringToSign); return stringToSign; }
@VisibleForTesting public String createStringToSign(HttpRequest request, Multimap<String, String> decodedParams) { utils.logRequest(signatureLog, request, ">>"); StringBuilder stringToSign = new StringBuilder(); // StringToSign = HTTPVerb + "\n" + stringToSign.append(request.getMethod()).append("\n"); // ValueOfHostHeaderInLowercase + "\n" + stringToSign.append(request.getFirstHeaderOrNull(HttpHeaders.HOST).toLowerCase()).append("\n"); // HTTPRequestURI + "\n" + stringToSign.append(request.getEndpoint().getPath()).append("\n"); // CanonicalizedFormString <from the preceding step> stringToSign.append(buildCanonicalizedString(decodedParams)); if (signatureWire.enabled()) signatureWire.output(stringToSign.toString()); return stringToSign.toString(); }