diff options
-rw-r--r-- | hosted-api/src/main/java/ai/vespa/hosted/api/RequestSigner.java | 24 | ||||
-rw-r--r-- | hosted-api/src/main/java/ai/vespa/hosted/api/Signatures.java | 10 |
2 files changed, 3 insertions, 31 deletions
diff --git a/hosted-api/src/main/java/ai/vespa/hosted/api/RequestSigner.java b/hosted-api/src/main/java/ai/vespa/hosted/api/RequestSigner.java index 5d314d90356..fa610b9dece 100644 --- a/hosted-api/src/main/java/ai/vespa/hosted/api/RequestSigner.java +++ b/hosted-api/src/main/java/ai/vespa/hosted/api/RequestSigner.java @@ -7,7 +7,6 @@ import com.yahoo.security.SignatureUtils; import java.io.InputStream; import java.net.http.HttpRequest; import java.security.PrivateKey; -import java.security.PublicKey; import java.security.Signature; import java.security.SignatureException; import java.time.Clock; @@ -45,7 +44,6 @@ public class RequestSigner { this.signer = SignatureUtils.createSigner(privateKey, SHA256_WITH_ECDSA); this.keyId = keyId; this.base64PemPublicKey = Base64.getEncoder().encodeToString(KeyUtils.toPem(KeyUtils.extractPublicKey(privateKey)).getBytes(UTF_8)); - PublicKey key = KeyUtils.extractPublicKey(privateKey); this.clock = clock; } @@ -81,26 +79,4 @@ public class RequestSigner { } } - // TODO jonmv: Simulates old clients — remove shortly (2 Oct 2019). - public HttpRequest legacySigned(HttpRequest.Builder request, Method method, Supplier<InputStream> data) { - try { - String timestamp = clock.instant().toString(); - String contentHash = Base64.getEncoder().encodeToString(sha256Digest(data::get)); - byte[] canonicalMessage = Signatures.canonicalMessageOf(method.name(), request.copy().build().uri(), timestamp, contentHash); - signer.update(canonicalMessage); - String signature = Base64.getEncoder().encodeToString(signer.sign()); - - request.setHeader("X-Timestamp", timestamp); - request.setHeader("X-Content-Hash", contentHash); - request.setHeader("X-Key-Id", keyId); - request.setHeader("X-Authorization", signature); - - request.method(method.name(), HttpRequest.BodyPublishers.ofInputStream(data)); - return request.build(); - } - catch (SignatureException e) { - throw new IllegalArgumentException(e); - } - } - } diff --git a/hosted-api/src/main/java/ai/vespa/hosted/api/Signatures.java b/hosted-api/src/main/java/ai/vespa/hosted/api/Signatures.java index 55a08eb0283..1355c65c335 100644 --- a/hosted-api/src/main/java/ai/vespa/hosted/api/Signatures.java +++ b/hosted-api/src/main/java/ai/vespa/hosted/api/Signatures.java @@ -1,22 +1,18 @@ // Copyright 2019 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package ai.vespa.hosted.api; -import com.yahoo.security.KeyUtils; - import java.io.InputStream; import java.net.URI; import java.security.DigestInputStream; -import java.security.InvalidKeyException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; -import java.security.PrivateKey; -import java.security.PublicKey; -import java.security.Signature; -import java.security.SignatureException; import java.util.concurrent.Callable; import static java.nio.charset.StandardCharsets.UTF_8; +/** + * @author jonmv + */ public class Signatures { /** Returns the SHA-256 hash of the content in the implied input stream. */ |