/** * Creates a registration assertion token for a device and wraps it in a JSON object. * <p> * The returned JSON object may also contain <em>default</em> values registered for the * device under key {@link RegistrationConstants#FIELD_DEFAULTS}. * * @param tenantId The tenant the device belongs to. * @param deviceId The device to create the assertion token for. * @param registrationInfo The device's registration information. * @return The payload. */ protected final JsonObject getAssertionPayload(final String tenantId, final String deviceId, final JsonObject registrationInfo) { final JsonObject result = new JsonObject() .put(RegistrationConstants.FIELD_PAYLOAD_DEVICE_ID, deviceId) .put(RegistrationConstants.FIELD_ASSERTION, assertionFactory.getAssertion(tenantId, deviceId)); final JsonObject defaults = registrationInfo.getJsonObject(RegistrationConstants.FIELD_DEFAULTS); if (defaults != null) { result.put(RegistrationConstants.FIELD_DEFAULTS, defaults); } return result; }
/** * Creates a registration assertion token for a device and wraps it in a JSON object. * <p> * The returned JSON object may also contain <em>default</em> values registered for the * device under key {@link RegistrationConstants#FIELD_DEFAULTS}. * * @param tenantId The tenant the device belongs to. * @param deviceId The device to create the assertion token for. * @param registrationInfo The device's registration information. * @return The payload. */ protected final JsonObject getAssertionPayload(final String tenantId, final String deviceId, final JsonObject registrationInfo) { final JsonObject result = new JsonObject() .put(RegistrationConstants.FIELD_PAYLOAD_DEVICE_ID, deviceId) .put(RegistrationConstants.FIELD_ASSERTION, assertionFactory.getAssertion(tenantId, deviceId)); final JsonObject defaults = registrationInfo.getJsonObject(RegistrationConstants.FIELD_DEFAULTS); if (defaults != null) { result.put(RegistrationConstants.FIELD_DEFAULTS, defaults); } return result; }
/** * Verifies that signatures created using an RSA private key can be validated using the corresponding public key. */ @Test public void testForSigningWorksWithRsaSignatures() { final SignatureSupportingConfigProperties props = new SignatureSupportingConfigProperties(); props.setKeyPath("target/certs/hono-messaging-key.pem"); props.setCertPath("target/certs/hono-messaging-cert.pem"); final RegistrationAssertionHelper factory = RegistrationAssertionHelperImpl.forSigning(vertx, props); final String assertion = factory.getAssertion("tenant", "device"); assertNotNull(assertion); final RegistrationAssertionHelper validator = RegistrationAssertionHelperImpl.forValidating(vertx, props); assertTrue(validator.isValid(assertion, "tenant", "device")); }