From 6caa5a02f46572ab5c94c0e1f9884fcb8d3ef48f Mon Sep 17 00:00:00 2001 From: MaxKey Date: Thu, 2 Feb 2023 11:51:22 +0800 Subject: [PATCH] Update JWKSetKeyStore.java --- .../crypto/jose/keystore/JWKSetKeyStore.java | 80 ++++++++++--------- 1 file changed, 44 insertions(+), 36 deletions(-) diff --git a/maxkey-common/src/main/java/org/maxkey/crypto/jose/keystore/JWKSetKeyStore.java b/maxkey-common/src/main/java/org/maxkey/crypto/jose/keystore/JWKSetKeyStore.java index 82dc0c53e..ddc198b0a 100644 --- a/maxkey-common/src/main/java/org/maxkey/crypto/jose/keystore/JWKSetKeyStore.java +++ b/maxkey-common/src/main/java/org/maxkey/crypto/jose/keystore/JWKSetKeyStore.java @@ -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("").append("\n"); - for(JWK jwk : jwkSet.getKeys()) { - RSAKey rsaKey = jwk.toRSAKey(); - PublicKey publicKey; - try { - publicKey = rsaKey.toPublicKey(); - metaDataString.append("").append("\n"); - metaDataString.append(RSAUtils.getPublicKeyPEM(publicKey.getEncoded())); - metaDataString.append("").append("\n"); - //keyID - metaDataString.append(""); - metaDataString.append(rsaKey.getAlgorithm()); - metaDataString.append("").append("\n"); - - metaDataString.append(""); - metaDataString.append(rsaKey.getKeyID()); - metaDataString.append("").append("\n"); - - metaDataString.append(""); - metaDataString.append(rsaKey.getKeyType()); - metaDataString.append("").append("\n"); - - metaDataString.append(""); - metaDataString.append(publicKey.getFormat()); - metaDataString.append(""); - - metaDataString.append(""); - metaDataString.append(rsaKey.getPublicExponent()); - metaDataString.append("").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("").append("\n"); + for(JWK jwk : jwkSet.getKeys()) { + RSAKey rsaKey = jwk.toRSAKey(); + PublicKey publicKey; + try { + publicKey = rsaKey.toPublicKey(); + metaDataString.append("").append("\n"); + metaDataString.append(RSAUtils.getPublicKeyPEM(publicKey.getEncoded())); + metaDataString.append("").append("\n"); + //keyID + metaDataString.append(""); + metaDataString.append(rsaKey.getAlgorithm()); + metaDataString.append("").append("\n"); + + metaDataString.append(""); + metaDataString.append(rsaKey.getKeyID()); + metaDataString.append("").append("\n"); + + metaDataString.append(""); + metaDataString.append(rsaKey.getKeyType()); + metaDataString.append("").append("\n"); + + metaDataString.append(""); + metaDataString.append(publicKey.getFormat()); + metaDataString.append(""); + + metaDataString.append(""); + metaDataString.append(rsaKey.getPublicExponent()); + metaDataString.append("").append("\n"); + } catch (JOSEException e) { + _logger.error("JOSEException ", mediaType); + } } + metaDataString.append(""); + + }else { + //RSA Only + metaDataString.append(PrettyFactory.getJsonPretty().format( + jwkSet.toPublicJWKSet().toString())); } - metaDataString.append(""); }else { - metaDataString.append(PrettyFactory.getJsonPretty().format( - jwkSet.toPublicJWKSet().toString())); + metaDataString.append("RSA Only"); } - return metaDataString.toString(); } }