mirror of https://github.com/shred/acme4j
parent
809978d188
commit
1c75d28dae
|
@ -94,7 +94,7 @@ public class RegistrationBuilder {
|
|||
|
||||
try (Connection conn = session.provider().connect()) {
|
||||
JSONBuilder claims = new JSONBuilder();
|
||||
claims.putResource(Resource.NEW_REG);
|
||||
claims.putResource(Resource.NEW_ACCOUNT);
|
||||
if (!contacts.isEmpty()) {
|
||||
claims.put("contact", contacts);
|
||||
}
|
||||
|
@ -102,7 +102,7 @@ public class RegistrationBuilder {
|
|||
claims.put("terms-of-service-agreed", termsOfServiceAgreed);
|
||||
}
|
||||
|
||||
conn.sendJwkSignedRequest(session.resourceUrl(Resource.NEW_REG), claims, session);
|
||||
conn.sendJwkSignedRequest(session.resourceUrl(Resource.NEW_ACCOUNT), claims, session);
|
||||
conn.accept(HttpURLConnection.HTTP_OK, HttpURLConnection.HTTP_CREATED);
|
||||
|
||||
URL location = conn.getLocation();
|
||||
|
|
|
@ -242,6 +242,7 @@ public class Session {
|
|||
map.put(res, url);
|
||||
}
|
||||
}
|
||||
|
||||
resourceMap.set(map);
|
||||
}
|
||||
|
||||
|
|
|
@ -18,13 +18,12 @@ package org.shredzone.acme4j.connector;
|
|||
*/
|
||||
public enum Resource {
|
||||
|
||||
KEY_CHANGE("key-change"),
|
||||
NEW_REG("new-reg"),
|
||||
NEW_AUTHZ("new-authz"),
|
||||
NEW_CERT("new-cert"),
|
||||
NEW_NONCE("new-nonce"),
|
||||
NEW_ACCOUNT("new-account"),
|
||||
NEW_ORDER("new-order"),
|
||||
REVOKE_CERT("revoke-cert");
|
||||
NEW_AUTHZ("new-authz"),
|
||||
REVOKE_CERT("revoke-cert"),
|
||||
KEY_CHANGE("key-change");
|
||||
|
||||
private final String path;
|
||||
|
||||
|
|
|
@ -19,8 +19,11 @@ import java.net.URL;
|
|||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import org.shredzone.acme4j.Session;
|
||||
import org.shredzone.acme4j.exception.AcmeException;
|
||||
import org.shredzone.acme4j.provider.AbstractAcmeProvider;
|
||||
import org.shredzone.acme4j.provider.AcmeProvider;
|
||||
import org.shredzone.acme4j.util.JSON;
|
||||
|
||||
/**
|
||||
* An {@link AcmeProvider} for <em>Pebble</em>.
|
||||
|
@ -69,4 +72,12 @@ public class PebbleAcmeProvider extends AbstractAcmeProvider {
|
|||
}
|
||||
}
|
||||
|
||||
// TODO PEBBLE: new-reg
|
||||
// https://github.com/letsencrypt/pebble/pull/24
|
||||
@Override
|
||||
public JSON directory(Session session, URI serverUri) throws AcmeException {
|
||||
JSON json = super.directory(session, serverUri);
|
||||
return JSON.parse(json.toString().replace("\"new-reg\"", "\"new-account\""));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -82,7 +82,7 @@ public class RegistrationBuilderTest {
|
|||
}
|
||||
};
|
||||
|
||||
provider.putTestResource(Resource.NEW_REG, resourceUrl);
|
||||
provider.putTestResource(Resource.NEW_ACCOUNT, resourceUrl);
|
||||
|
||||
RegistrationBuilder builder = new RegistrationBuilder();
|
||||
builder.addContact("mailto:foo@example.com");
|
||||
|
|
|
@ -211,12 +211,12 @@ public class SessionTest {
|
|||
};
|
||||
};
|
||||
|
||||
assertThat(session.resourceUrl(Resource.NEW_REG),
|
||||
is(new URL("https://example.com/acme/new-reg")));
|
||||
assertThat(session.resourceUrl(Resource.NEW_ACCOUNT),
|
||||
is(new URL("https://example.com/acme/new-account")));
|
||||
assertThat(session.resourceUrl(Resource.NEW_AUTHZ),
|
||||
is(new URL("https://example.com/acme/new-authz")));
|
||||
assertThat(session.resourceUrl(Resource.NEW_CERT),
|
||||
is(new URL("https://example.com/acme/new-cert")));
|
||||
assertThat(session.resourceUrl(Resource.NEW_ORDER),
|
||||
is(new URL("https://example.com/acme/new-order")));
|
||||
assertThat(session.resourceUrl(Resource.REVOKE_CERT),
|
||||
is(nullValue()));
|
||||
|
||||
|
@ -235,12 +235,12 @@ public class SessionTest {
|
|||
* {@link Session} to assert
|
||||
*/
|
||||
private void assertSession(Session session) throws AcmeException, IOException {
|
||||
assertThat(session.resourceUrl(Resource.NEW_REG),
|
||||
is(new URL("https://example.com/acme/new-reg")));
|
||||
assertThat(session.resourceUrl(Resource.NEW_ACCOUNT),
|
||||
is(new URL("https://example.com/acme/new-account")));
|
||||
assertThat(session.resourceUrl(Resource.NEW_AUTHZ),
|
||||
is(new URL("https://example.com/acme/new-authz")));
|
||||
assertThat(session.resourceUrl(Resource.NEW_CERT),
|
||||
is(new URL("https://example.com/acme/new-cert")));
|
||||
assertThat(session.resourceUrl(Resource.NEW_ORDER),
|
||||
is(new URL("https://example.com/acme/new-order")));
|
||||
assertThat(session.resourceUrl(Resource.REVOKE_CERT),
|
||||
is(nullValue()));
|
||||
|
||||
|
|
|
@ -28,16 +28,15 @@ public class ResourceTest {
|
|||
*/
|
||||
@Test
|
||||
public void testPath() {
|
||||
assertThat(Resource.KEY_CHANGE.path(), is("key-change"));
|
||||
assertThat(Resource.NEW_AUTHZ.path(), is("new-authz"));
|
||||
assertThat(Resource.NEW_CERT.path(), is("new-cert"));
|
||||
assertThat(Resource.NEW_NONCE.path(), is("new-nonce"));
|
||||
assertThat(Resource.NEW_ACCOUNT.path(), is("new-account"));
|
||||
assertThat(Resource.NEW_ORDER.path(), is("new-order"));
|
||||
assertThat(Resource.NEW_REG.path(), is("new-reg"));
|
||||
assertThat(Resource.NEW_AUTHZ.path(), is("new-authz"));
|
||||
assertThat(Resource.REVOKE_CERT.path(), is("revoke-cert"));
|
||||
assertThat(Resource.KEY_CHANGE.path(), is("key-change"));
|
||||
|
||||
// fails if there are untested future Resource values
|
||||
assertThat(Resource.values().length, is(7));
|
||||
assertThat(Resource.values().length, is(6));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{
|
||||
"new-reg": "https://example.com/acme/new-reg",
|
||||
"new-authz": "https://example.com/acme/new-authz",
|
||||
"new-cert": "https://example.com/acme/new-cert",
|
||||
"new-nonce": "https://example.com/acme/new-nonce",
|
||||
"new-account": "https://example.com/acme/new-account",
|
||||
"new-order": "https://example.com/acme/new-order"
|
||||
"new-authz": "https://example.com/acme/new-authz",
|
||||
"meta": {
|
||||
"terms-of-service": "https://example.com/acme/terms",
|
||||
"website": "https://www.example.com/",
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"new-reg": "https://example.com/acme/new-reg",
|
||||
"new-account": "https://example.com/acme/new-account",
|
||||
"new-authz": "https://example.com/acme/new-authz",
|
||||
"new-cert": "https://example.com/acme/new-cert"
|
||||
"new-order": "https://example.com/acme/new-order"
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
"resource": "new-reg",
|
||||
"resource": "new-account",
|
||||
"terms-of-service-agreed": true,
|
||||
"contact": [
|
||||
"mailto:foo@example.com"
|
||||
|
|
|
@ -52,8 +52,8 @@ public class SessionIT extends PebbleITBase {
|
|||
public void testResources() throws AcmeException {
|
||||
Session session = new Session(pebbleURI(), keyPair);
|
||||
|
||||
assertIsPebbleUrl(session.resourceUrl(Resource.NEW_ACCOUNT));
|
||||
assertIsPebbleUrl(session.resourceUrl(Resource.NEW_NONCE));
|
||||
assertIsPebbleUrl(session.resourceUrl(Resource.NEW_REG));
|
||||
assertIsPebbleUrl(session.resourceUrl(Resource.NEW_ORDER));
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue