diff --git a/README.md b/README.md index b9e31cd..746878b 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ A Web Push library for Java 8. Supports payloads and VAPID. For Gradle, add the following dependency to `build.gradle`: ```groovy -compile group: 'nl.martijndwars', name: 'web-push', version: '5.1.1' +compile group: 'nl.martijndwars', name: 'web-push', version: '5.1.2' ``` For Maven, add the following dependency to `pom.xml`: @@ -19,7 +19,7 @@ For Maven, add the following dependency to `pom.xml`:     nl.martijndwars     web-push -    5.1.1 +    5.1.2 ``` diff --git a/build.gradle b/build.gradle index 23dbe59..83ca068 100644 --- a/build.gradle +++ b/build.gradle @@ -12,7 +12,7 @@ apply plugin: 'application' apply plugin: 'com.github.johnrengelman.shadow' group 'nl.martijndwars' -version '5.1.2-SNAPSHOT' +version '5.1.2' repositories { mavenLocal() @@ -27,13 +27,13 @@ dependencies { implementation group: 'org.apache.httpcomponents', name: 'httpasyncclient', version: '4.1.5' // For making async HTTP requests - implementation group: 'org.asynchttpclient', name: 'async-http-client', version: '2.12.3' + implementation group: 'org.asynchttpclient', name: 'async-http-client', version: '2.12.4' // For cryptographic operations shadow group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: '1.70' // For creating and signing JWT - implementation group: 'org.bitbucket.b_c', name: 'jose4j', version: '0.7.9' + implementation group: 'org.bitbucket.b_c', name: 'jose4j', version: '0.9.6' // For parsing JSON testImplementation group: 'com.google.code.gson', name: 'gson', version: '2.8.9' @@ -54,7 +54,7 @@ dependencies { testImplementation group: 'org.bouncycastle', name: 'bcpkix-jdk15on', version: '1.70' // For verifying Base64Encoder results in unit tests - testImplementation group: 'com.google.guava', name: 'guava', version: '31.0.1-jre' + testImplementation group: 'com.google.guava', name: 'guava', version: '33.4.8-jre' } wrapper { diff --git a/src/main/java/nl/martijndwars/webpush/AbstractPushService.java b/src/main/java/nl/martijndwars/webpush/AbstractPushService.java index 22db83b..f3f25ed 100644 --- a/src/main/java/nl/martijndwars/webpush/AbstractPushService.java +++ b/src/main/java/nl/martijndwars/webpush/AbstractPushService.java @@ -166,7 +166,7 @@ protected final HttpRequest prepareRequest(Notification notification, Encoding e } else if (encoding == Encoding.AESGCM) { headers.put("Content-Encoding", "aesgcm"); headers.put("Encryption", "salt=" + Base64.getUrlEncoder().withoutPadding().encodeToString(salt)); - headers.put("Crypto-Key", "dh=" + Base64.getUrlEncoder().encodeToString(dh)); + headers.put("Crypto-Key", "dh=" + Base64.getUrlEncoder().withoutPadding().encodeToString(dh)); } body = encrypted.getCiphertext(); @@ -208,9 +208,9 @@ protected final HttpRequest prepareRequest(Notification notification, Encoding e } if (headers.containsKey("Crypto-Key")) { - headers.put("Crypto-Key", headers.get("Crypto-Key") + ";p256ecdsa=" + Base64.getUrlEncoder().encodeToString(pk)); + headers.put("Crypto-Key", headers.get("Crypto-Key") + ";p256ecdsa=" + Base64.getUrlEncoder().withoutPadding().encodeToString(pk)); } else { - headers.put("Crypto-Key", "p256ecdsa=" + Base64.getUrlEncoder().encodeToString(pk)); + headers.put("Crypto-Key", "p256ecdsa=" + Base64.getUrlEncoder().withoutPadding().encodeToString(pk)); } } else if (notification.isFcm() && getGcmApiKey() != null) { headers.put("Authorization", "key=" + getGcmApiKey()); diff --git a/src/main/java/nl/martijndwars/webpush/PushService.java b/src/main/java/nl/martijndwars/webpush/PushService.java index cd117dc..e15647b 100644 --- a/src/main/java/nl/martijndwars/webpush/PushService.java +++ b/src/main/java/nl/martijndwars/webpush/PushService.java @@ -65,7 +65,7 @@ public HttpResponse send(Notification notification, Encoding encoding) throws Ge } public HttpResponse send(Notification notification) throws GeneralSecurityException, IOException, JoseException, ExecutionException, InterruptedException { - return send(notification, Encoding.AESGCM); + return send(notification, Encoding.AES128GCM); } /** diff --git a/src/main/java/nl/martijndwars/webpush/cli/handlers/GenerateKeyHandler.java b/src/main/java/nl/martijndwars/webpush/cli/handlers/GenerateKeyHandler.java index 6ddf519..1747adf 100644 --- a/src/main/java/nl/martijndwars/webpush/cli/handlers/GenerateKeyHandler.java +++ b/src/main/java/nl/martijndwars/webpush/cli/handlers/GenerateKeyHandler.java @@ -42,10 +42,10 @@ public void run() throws InvalidAlgorithmParameterException, NoSuchAlgorithmExce } System.out.println("PublicKey:"); - System.out.println(Base64.getUrlEncoder().encodeToString(encodedPublicKey)); + System.out.println(Base64.getUrlEncoder().withoutPadding().encodeToString(encodedPublicKey)); System.out.println("PrivateKey:"); - System.out.println(Base64.getUrlEncoder().encodeToString(encodedPrivateKey)); + System.out.println(Base64.getUrlEncoder().withoutPadding().encodeToString(encodedPrivateKey)); } /**