Мне нужно сгенерировать открытый ключ для проверки токена JWT из Cognito. Вот ключи:
{
keys: [
{
alg: "RS256",
e: "AQAB",
kid: "7sbG73+G/8A+wPT4Vaf/+ttnBHuLZcjEmfiBXl3E8Fk=",
kty: "RSA",
n: "blablablablabla",
use: "sig"
},
{
alg: "RS256",
e: "AQAB",
kid: "Zbf1euSHNj4lXgXHIQwYZfERTdm1Rkeqrm1ppnpClRR=",
kty: "RSA",
n: "blablablablabla",
use: "sig"
}
]
}
Я могу легко создать его с помощью ключа x5c из Azure, но я не могу сделать это с помощью Cognito. Какой ключ я должен использовать для создания RSAPublicKey?
CertificateFactory factory = CertificateFactory.getInstance("X.509");
//Creating a cert from x5c key
X509Certificate cert = (X509Certificate) factory.generateCertificate(new ByteArrayInputStream(DatatypeConverter.parseBase64Binary(x5c)));
RSAPublicKey publicKey = (RSAPublicKey) cert.getPublicKey();
RSAPrivateKey privateKey = null;