From 5de6efce9524803461cb72520dedb9a3de11eaf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20K=C3=B6rber?= Date: Wed, 19 Apr 2017 00:48:05 +0200 Subject: [PATCH] Key identifier is a String --- .../src/main/java/org/shredzone/acme4j/AcmeResource.java | 9 +-------- .../src/main/java/org/shredzone/acme4j/Session.java | 6 +++--- .../org/shredzone/acme4j/RegistrationBuilderTest.java | 2 +- .../test/java/org/shredzone/acme4j/RegistrationTest.java | 2 +- .../src/test/java/org/shredzone/acme4j/SessionTest.java | 6 +++--- .../acme4j/connector/DefaultConnectionTest.java | 6 +++--- .../java/org/shredzone/acme4j/it/RegistrationIT.java | 3 +-- 7 files changed, 13 insertions(+), 21 deletions(-) diff --git a/acme4j-client/src/main/java/org/shredzone/acme4j/AcmeResource.java b/acme4j-client/src/main/java/org/shredzone/acme4j/AcmeResource.java index 52607cf8..c0a1c45e 100644 --- a/acme4j-client/src/main/java/org/shredzone/acme4j/AcmeResource.java +++ b/acme4j-client/src/main/java/org/shredzone/acme4j/AcmeResource.java @@ -14,12 +14,9 @@ package org.shredzone.acme4j; import java.io.Serializable; -import java.net.URISyntaxException; import java.net.URL; import java.util.Objects; -import org.shredzone.acme4j.exception.AcmeProtocolException; - /** * A generic ACME resource. */ @@ -62,11 +59,7 @@ public abstract class AcmeResource implements Serializable { */ protected void setLocation(URL location) { this.location = Objects.requireNonNull(location, "location"); - try { - session.setKeyIdentifier(this.location.toURI()); - } catch (URISyntaxException ex) { - throw new AcmeProtocolException("Location cannot be used as key identifier", ex); - } + session.setKeyIdentifier(this.location.toString()); } /** diff --git a/acme4j-client/src/main/java/org/shredzone/acme4j/Session.java b/acme4j-client/src/main/java/org/shredzone/acme4j/Session.java index d689f7a9..81ab2446 100644 --- a/acme4j-client/src/main/java/org/shredzone/acme4j/Session.java +++ b/acme4j-client/src/main/java/org/shredzone/acme4j/Session.java @@ -47,7 +47,7 @@ public class Session { private final AcmeProvider provider; private KeyPair keyPair; - private URI keyIdentifier; + private String keyIdentifier; private byte[] nonce; private JSON directoryJson; private Locale locale = Locale.getDefault(); @@ -117,14 +117,14 @@ public class Session { /** * Gets the key identifier of the ACME account. */ - public URI getKeyIdentifier() { + public String getKeyIdentifier() { return keyIdentifier; } /** * Sets the key identifier of the ACME account. */ - public void setKeyIdentifier(URI keyIdentifier) { + public void setKeyIdentifier(String keyIdentifier) { this.keyIdentifier = keyIdentifier; } diff --git a/acme4j-client/src/test/java/org/shredzone/acme4j/RegistrationBuilderTest.java b/acme4j-client/src/test/java/org/shredzone/acme4j/RegistrationBuilderTest.java index 811e0c67..7452fad5 100644 --- a/acme4j-client/src/test/java/org/shredzone/acme4j/RegistrationBuilderTest.java +++ b/acme4j-client/src/test/java/org/shredzone/acme4j/RegistrationBuilderTest.java @@ -94,7 +94,7 @@ public class RegistrationBuilderTest { assertThat(registration.getLocation(), is(locationUrl)); assertThat(registration.getTermsOfServiceAgreed(), is(true)); - assertThat(session.getKeyIdentifier(), is(locationUrl.toURI())); + assertThat(session.getKeyIdentifier(), is(locationUrl.toString())); try { RegistrationBuilder builder2 = new RegistrationBuilder(); diff --git a/acme4j-client/src/test/java/org/shredzone/acme4j/RegistrationTest.java b/acme4j-client/src/test/java/org/shredzone/acme4j/RegistrationTest.java index b3a7e424..cd0495d0 100644 --- a/acme4j-client/src/test/java/org/shredzone/acme4j/RegistrationTest.java +++ b/acme4j-client/src/test/java/org/shredzone/acme4j/RegistrationTest.java @@ -134,7 +134,7 @@ public class RegistrationTest { Registration registration = new Registration(session, locationUrl); registration.update(); - assertThat(session.getKeyIdentifier(), is(locationUrl.toURI())); + assertThat(session.getKeyIdentifier(), is(locationUrl.toString())); assertThat(registration.getLocation(), is(locationUrl)); assertThat(registration.getTermsOfServiceAgreed(), is(true)); assertThat(registration.getContacts(), hasSize(1)); diff --git a/acme4j-client/src/test/java/org/shredzone/acme4j/SessionTest.java b/acme4j-client/src/test/java/org/shredzone/acme4j/SessionTest.java index e5f69fa3..1b786701 100644 --- a/acme4j-client/src/test/java/org/shredzone/acme4j/SessionTest.java +++ b/acme4j-client/src/test/java/org/shredzone/acme4j/SessionTest.java @@ -97,7 +97,7 @@ public class SessionTest { KeyPair kp1 = TestUtils.createKeyPair(); KeyPair kp2 = TestUtils.createDomainKeyPair(); URI serverUri = URI.create(TestUtils.ACME_SERVER_URI); - URI keyIdentifierUri = URI.create(TestUtils.ACME_SERVER_URI + "/acct/1"); + String keyIdentifier = TestUtils.ACME_SERVER_URI + "/acct/1"; Session session = new Session(serverUri, kp1); @@ -111,8 +111,8 @@ public class SessionTest { assertThat(session.getKeyPair(), is(kp2)); assertThat(session.getKeyIdentifier(), is(nullValue())); - session.setKeyIdentifier(keyIdentifierUri); - assertThat(session.getKeyIdentifier(), is(keyIdentifierUri)); + session.setKeyIdentifier(keyIdentifier); + assertThat(session.getKeyIdentifier(), is(keyIdentifier)); assertThat(session.getServerUri(), is(serverUri)); } diff --git a/acme4j-client/src/test/java/org/shredzone/acme4j/connector/DefaultConnectionTest.java b/acme4j-client/src/test/java/org/shredzone/acme4j/connector/DefaultConnectionTest.java index 78d60b6d..4e2bcf71 100644 --- a/acme4j-client/src/test/java/org/shredzone/acme4j/connector/DefaultConnectionTest.java +++ b/acme4j-client/src/test/java/org/shredzone/acme4j/connector/DefaultConnectionTest.java @@ -57,7 +57,7 @@ import org.shredzone.acme4j.util.TestUtils; public class DefaultConnectionTest { private URL requestUrl = TestUtils.url("http://example.com/acme/"); - private URI keyIdentifierUri = URI.create(TestUtils.ACME_SERVER_URI + "/acct/1"); + private String keyIdentifier = TestUtils.ACME_SERVER_URI + "/acct/1"; private HttpURLConnection mockUrlConnection; private HttpConnector mockHttpConnection; private Session session; @@ -585,7 +585,7 @@ public class DefaultConnectionTest { }) { JSONBuilder cb = new JSONBuilder(); cb.put("foo", 123).put("bar", "a-string"); - session.setKeyIdentifier(keyIdentifierUri); + session.setKeyIdentifier(keyIdentifier); conn.sendSignedRequest(requestUrl, cb, session); } @@ -612,7 +612,7 @@ public class DefaultConnectionTest { expectedHeader.append("\"nonce\":\"").append(Base64Url.encode(nonce1)).append("\","); expectedHeader.append("\"url\":\"").append(requestUrl).append("\","); expectedHeader.append("\"alg\":\"RS256\","); - expectedHeader.append("\"kid\":\"").append(keyIdentifierUri).append('"'); + expectedHeader.append("\"kid\":\"").append(keyIdentifier).append('"'); expectedHeader.append('}'); assertThat(header, sameJSONAs(expectedHeader.toString())); diff --git a/acme4j-client/src/test/java/org/shredzone/acme4j/it/RegistrationIT.java b/acme4j-client/src/test/java/org/shredzone/acme4j/it/RegistrationIT.java index 124040ac..af81124c 100644 --- a/acme4j-client/src/test/java/org/shredzone/acme4j/it/RegistrationIT.java +++ b/acme4j-client/src/test/java/org/shredzone/acme4j/it/RegistrationIT.java @@ -47,8 +47,7 @@ public class RegistrationIT extends AbstractPebbleIT { Registration reg = rb.create(session); URL location = reg.getLocation(); assertIsPebbleUrl(location); - URI keyIdentifier = session.getKeyIdentifier(); - assertThat(keyIdentifier.toString(), is(location.toString())); + assertThat(session.getKeyIdentifier(), is(location.toString())); // TODO: Not yet supported by Pebble /*