aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorGravatar Vitaly Takmazov2022-05-12 23:17:43 +0300
committerGravatar Vitaly Takmazov2022-05-12 23:17:43 +0300
commit72f3289f339ef3b8fe37be3740ff390d970f8e0e (patch)
tree4e3499cf0458c429ac511e962a6ee9a8e70d6674 /src/main/java
parent31cb8c7526b96c6577badb203a336685a806b802 (diff)
Use Churchkey library to read PEM files and keys
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/github/scribejava/apis/AppleClientSecretGenerator.java20
1 files changed, 5 insertions, 15 deletions
diff --git a/src/main/java/com/github/scribejava/apis/AppleClientSecretGenerator.java b/src/main/java/com/github/scribejava/apis/AppleClientSecretGenerator.java
index 10ac4c5a..2de9ea4a 100644
--- a/src/main/java/com/github/scribejava/apis/AppleClientSecretGenerator.java
+++ b/src/main/java/com/github/scribejava/apis/AppleClientSecretGenerator.java
@@ -20,19 +20,16 @@ package com.github.scribejava.apis;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
-import java.nio.charset.StandardCharsets;
-import java.security.Key;
-import java.security.KeyFactory;
import java.security.NoSuchAlgorithmException;
-import java.security.spec.EncodedKeySpec;
import java.security.spec.InvalidKeySpecException;
-import java.security.spec.PKCS8EncodedKeySpec;
import java.time.Instant;
import java.time.ZoneId;
import java.time.ZonedDateTime;
-import java.util.Base64;
import java.util.Date;
+import org.tomitribe.churchkey.Key;
+import org.tomitribe.churchkey.Keys;
+
public class AppleClientSecretGenerator {
private final String subject;
private final String teamId;
@@ -49,14 +46,7 @@ public class AppleClientSecretGenerator {
this.teamId = teamId;
this.pemData = pemData;
- String p8encodedData = new String(getPemData(), StandardCharsets.UTF_8)
- .replace(
- "-----BEGIN PRIVATE KEY-----\n", "")
- .replace("\n", "")
- .replace("-----END PRIVATE KEY-----", "");
- KeyFactory kf = KeyFactory.getInstance("EC");
- EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(Base64.getDecoder().decode(p8encodedData));
- signingKey = kf.generatePrivate(keySpec);
+ this.signingKey = Keys.decode(pemData);
}
public String getClientSecret() {
@@ -68,7 +58,7 @@ public class AppleClientSecretGenerator {
.setIssuedAt(Date.from(now))
.setSubject(subject)
.setExpiration(Date.from(ZonedDateTime.ofInstant(now, ZoneId.of("UTC")).plusMonths(1).toInstant()))
- .signWith(signingKey, SignatureAlgorithm.ES256)
+ .signWith(signingKey.getKey(), SignatureAlgorithm.ES256)
.compact();
}