Update JWKSetKeyStore.java

This commit is contained in:
MaxKey 2023-02-02 11:51:22 +08:00
parent c0df0c9d76
commit 6caa5a02f4

View File

@ -142,46 +142,54 @@ public class JWKSetKeyStore {
public String toString(String mediaType){
StringBuffer metaDataString = new StringBuffer("");
if(StringUtils.isNotBlank(mediaType) && mediaType.equalsIgnoreCase("XML")) {
metaDataString.append("<RSAKeyValue>").append("\n");
for(JWK jwk : jwkSet.getKeys()) {
RSAKey rsaKey = jwk.toRSAKey();
PublicKey publicKey;
try {
publicKey = rsaKey.toPublicKey();
metaDataString.append("<Modulus>").append("\n");
metaDataString.append(RSAUtils.getPublicKeyPEM(publicKey.getEncoded()));
metaDataString.append("</Modulus>").append("\n");
//keyID
metaDataString.append("<Algorithm>");
metaDataString.append(rsaKey.getAlgorithm());
metaDataString.append("</Algorithm>").append("\n");
metaDataString.append("<KeyID>");
metaDataString.append(rsaKey.getKeyID());
metaDataString.append("</KeyID>").append("\n");
metaDataString.append("<KeyType>");
metaDataString.append(rsaKey.getKeyType());
metaDataString.append("</KeyType>").append("\n");
metaDataString.append("<Format>");
metaDataString.append(publicKey.getFormat());
metaDataString.append("</Format>");
metaDataString.append("<PublicExponent>");
metaDataString.append(rsaKey.getPublicExponent());
metaDataString.append("</PublicExponent>").append("\n");
} catch (JOSEException e) {
_logger.error("JOSEException ", mediaType);
//RSA Only
if(jwkSet.getKeys().get(0).getKeyType().getValue().equalsIgnoreCase("RSA")) {
if(StringUtils.isNotBlank(mediaType) && mediaType.equalsIgnoreCase("XML")) {
metaDataString.append("<RSAKeyValue>").append("\n");
for(JWK jwk : jwkSet.getKeys()) {
RSAKey rsaKey = jwk.toRSAKey();
PublicKey publicKey;
try {
publicKey = rsaKey.toPublicKey();
metaDataString.append("<Modulus>").append("\n");
metaDataString.append(RSAUtils.getPublicKeyPEM(publicKey.getEncoded()));
metaDataString.append("</Modulus>").append("\n");
//keyID
metaDataString.append("<Algorithm>");
metaDataString.append(rsaKey.getAlgorithm());
metaDataString.append("</Algorithm>").append("\n");
metaDataString.append("<KeyID>");
metaDataString.append(rsaKey.getKeyID());
metaDataString.append("</KeyID>").append("\n");
metaDataString.append("<KeyType>");
metaDataString.append(rsaKey.getKeyType());
metaDataString.append("</KeyType>").append("\n");
metaDataString.append("<Format>");
metaDataString.append(publicKey.getFormat());
metaDataString.append("</Format>");
metaDataString.append("<PublicExponent>");
metaDataString.append(rsaKey.getPublicExponent());
metaDataString.append("</PublicExponent>").append("\n");
} catch (JOSEException e) {
_logger.error("JOSEException ", mediaType);
}
}
metaDataString.append("</RSAKeyValue>");
}else {
//RSA Only
metaDataString.append(PrettyFactory.getJsonPretty().format(
jwkSet.toPublicJWKSet().toString()));
}
metaDataString.append("</RSAKeyValue>");
}else {
metaDataString.append(PrettyFactory.getJsonPretty().format(
jwkSet.toPublicJWKSet().toString()));
metaDataString.append("RSA Only");
}
return metaDataString.toString();
}
}