Validate signature

pull/30/head
Richard Körber 2016-11-18 21:36:00 +01:00
parent 7c033095e6
commit 07beefdd15
1 changed files with 8 additions and 1 deletions

View File

@ -34,6 +34,7 @@ import java.util.Locale;
import java.util.Map; import java.util.Map;
import org.jose4j.base64url.Base64Url; import org.jose4j.base64url.Base64Url;
import org.jose4j.jws.JsonWebSignature;
import org.jose4j.jwx.CompactSerializer; import org.jose4j.jwx.CompactSerializer;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@ -457,7 +458,8 @@ public class DefaultConnectionTest {
verify(mockUrlConnection).getResponseCode(); verify(mockUrlConnection).getResponseCode();
verifyNoMoreInteractions(mockUrlConnection); verifyNoMoreInteractions(mockUrlConnection);
String[] written = CompactSerializer.deserialize(new String(outputStream.toByteArray(), "utf-8")); String serialized = new String(outputStream.toByteArray(), "utf-8");
String[] written = CompactSerializer.deserialize(serialized);
String header = Base64Url.decodeToUtf8String(written[0]); String header = Base64Url.decodeToUtf8String(written[0]);
String claims = Base64Url.decodeToUtf8String(written[1]); String claims = Base64Url.decodeToUtf8String(written[1]);
String signature = written[2]; String signature = written[2];
@ -475,6 +477,11 @@ public class DefaultConnectionTest {
assertThat(header, sameJSONAs(expectedHeader.toString()).allowingExtraUnexpectedFields()); assertThat(header, sameJSONAs(expectedHeader.toString()).allowingExtraUnexpectedFields());
assertThat(claims, sameJSONAs("{\"foo\":123,\"bar\":\"a-string\"}")); assertThat(claims, sameJSONAs("{\"foo\":123,\"bar\":\"a-string\"}"));
assertThat(signature, not(isEmptyOrNullString())); assertThat(signature, not(isEmptyOrNullString()));
JsonWebSignature jws = new JsonWebSignature();
jws.setCompactSerialization(serialized);
jws.setKey(DefaultConnectionTest.this.session.getKeyPair().getPublic());
assertThat(jws.verifySignature(), is(true));
} }
/** /**