Skip to content

Instantly share code, notes, and snippets.

@ArnauMrJeff
Last active November 24, 2023 13:17
Show Gist options
  • Save ArnauMrJeff/aa6fe3b6ac370ec5a6aa853649bb4b40 to your computer and use it in GitHub Desktop.
Save ArnauMrJeff/aa6fe3b6ac370ec5a6aa853649bb4b40 to your computer and use it in GitHub Desktop.
Apple ID Sign In: GeneratePrivateKey
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.JwsHeader;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
import org.bouncycastle.asn1.pkcs.PrivateKeyInfo;
import org.bouncycastle.openssl.PEMParser;
import org.bouncycastle.openssl.jcajce.JcaPEMKeyConverter;
import java.io.File;
import java.io.FileReader;
import java.math.BigInteger;
import java.security.KeyFactory;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.RSAPublicKeySpec;
import java.util.Base64;
private PrivateKey generatePrivateKey() throws Exception {
var file = new File("CERTIFICATE_PATH");
var pemParser = new PEMParser(new FileReader(file));
var converter = new JcaPEMKeyConverter();
var object = (PrivateKeyInfo) pemParser.readObject();
return converter.getPrivateKey(object);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment