Java Examples for com.nimbusds.jose.jwk.RSAKey
The following java examples will help you to understand the usage of com.nimbusds.jose.jwk.RSAKey. These source code samples are taken from different open source projects.
Example 1
| Project: json-web-key-generator-master File: RSAKeyMaker.java View source code |
/**
* @param keySize
* @param keyUse
* @param keyAlg
* @param kid
* @return
*/
public static RSAKey make(Integer keySize, KeyUse keyUse, Algorithm keyAlg, String kid) {
try {
KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA");
generator.initialize(keySize);
KeyPair kp = generator.generateKeyPair();
RSAPublicKey pub = (RSAPublicKey) kp.getPublic();
RSAPrivateKey priv = (RSAPrivateKey) kp.getPrivate();
RSAKey rsaKey = new RSAKey.Builder(pub).privateKey(priv).keyUse(keyUse).algorithm(keyAlg).keyID(kid).build();
return rsaKey;
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
return null;
}
}Example 2
| Project: WSign-master File: Authorize.java View source code |
public String sign(String unSignToken) {
File jwksFile = new File(PathUtils.getInstance().getClassPath() + "keystore.jwks");
try {
JWKSet jwkSet = JWKSet.load(jwksFile);
RSASSASigner rsaSSASigner = new RSASSASigner(((RSAKey) jwkSet.getKeyByKeyId("connsec_rsa1")).toRSAPrivateKey());
// sign it with the server's key
Base64URL base64URL = rsaSSASigner.sign(new JWSHeader(JWSAlgorithm.RS256), unSignToken.getBytes());
logger.debug("Base64URL : " + base64URL);
return base64URL.toString();
} catch (IOException e) {
e.printStackTrace();
} catch (ParseException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (InvalidKeySpecException e) {
e.printStackTrace();
} catch (JOSEException e) {
e.printStackTrace();
}
return "";
}Example 3
| Project: identity-providers-examples-master File: DefaultJwtEncryptionAndDecryptionService.java View source code |
/**
* Builds all the encrypters and decrypters for this service based on the key map.
* @throws
* @throws InvalidKeySpecException
* @throws NoSuchAlgorithmException
* @throws JOSEException
*/
private void buildEncryptersAndDecrypters() throws NoSuchAlgorithmException, InvalidKeySpecException, JOSEException {
for (Map.Entry<String, JWK> jwkEntry : keys.entrySet()) {
String id = jwkEntry.getKey();
JWK jwk = jwkEntry.getValue();
if (jwk instanceof RSAKey) {
// build RSA encrypters and decrypters
// there should always at least be the public key
RSAEncrypter encrypter = new RSAEncrypter(((RSAKey) jwk).toRSAPublicKey());
encrypters.put(id, encrypter);
if (// we can decrypt!
jwk.isPrivate()) {
RSADecrypter decrypter = new RSADecrypter(((RSAKey) jwk).toRSAPrivateKey());
decrypters.put(id, decrypter);
} else {
logger.warn("No private key for key #" + jwk.getKeyID());
}
// TODO: add support for EC keys
} else if (jwk instanceof OctetSequenceKey) {
// build symmetric encrypters and decrypters
DirectEncrypter encrypter = new DirectEncrypter(((OctetSequenceKey) jwk).toByteArray());
DirectDecrypter decrypter = new DirectDecrypter(((OctetSequenceKey) jwk).toByteArray());
encrypters.put(id, encrypter);
decrypters.put(id, decrypter);
} else {
logger.warn("Unknown key type: " + jwk);
}
}
}Example 4
| Project: OpenID-Connect-Java-Spring-Server-master File: DefaultJWTEncryptionAndDecryptionService.java View source code |
/**
* Builds all the encrypters and decrypters for this service based on the key map.
* @throws
* @throws InvalidKeySpecException
* @throws NoSuchAlgorithmException
* @throws JOSEException
*/
private void buildEncryptersAndDecrypters() throws NoSuchAlgorithmException, InvalidKeySpecException, JOSEException {
for (Map.Entry<String, JWK> jwkEntry : keys.entrySet()) {
String id = jwkEntry.getKey();
JWK jwk = jwkEntry.getValue();
if (jwk instanceof RSAKey) {
// build RSA encrypters and decrypters
// there should always at least be the public key
RSAEncrypter encrypter = new RSAEncrypter((RSAKey) jwk);
encrypter.getJCAContext().setProvider(BouncyCastleProviderSingleton.getInstance());
encrypters.put(id, encrypter);
if (// we can decrypt!
jwk.isPrivate()) {
RSADecrypter decrypter = new RSADecrypter((RSAKey) jwk);
decrypter.getJCAContext().setProvider(BouncyCastleProviderSingleton.getInstance());
decrypters.put(id, decrypter);
} else {
logger.warn("No private key for key #" + jwk.getKeyID());
}
} else if (jwk instanceof ECKey) {
// build EC Encrypters and decrypters
ECDHEncrypter encrypter = new ECDHEncrypter((ECKey) jwk);
encrypter.getJCAContext().setProvider(BouncyCastleProviderSingleton.getInstance());
encrypters.put(id, encrypter);
if (// we can decrypt too
jwk.isPrivate()) {
ECDHDecrypter decrypter = new ECDHDecrypter((ECKey) jwk);
decrypter.getJCAContext().setProvider(BouncyCastleProviderSingleton.getInstance());
decrypters.put(id, decrypter);
} else {
logger.warn("No private key for key # " + jwk.getKeyID());
}
} else if (jwk instanceof OctetSequenceKey) {
// build symmetric encrypters and decrypters
DirectEncrypter encrypter = new DirectEncrypter((OctetSequenceKey) jwk);
encrypter.getJCAContext().setProvider(BouncyCastleProviderSingleton.getInstance());
DirectDecrypter decrypter = new DirectDecrypter((OctetSequenceKey) jwk);
decrypter.getJCAContext().setProvider(BouncyCastleProviderSingleton.getInstance());
encrypters.put(id, encrypter);
decrypters.put(id, decrypter);
} else {
logger.warn("Unknown key type: " + jwk);
}
}
}Example 5
| Project: pac4j-master File: JWKHelper.java View source code |
/**
* Build the RSA key pair from the JWK JSON.
*
* @param json the json
* @return the key pair
*/
public static KeyPair buildRSAKeyPairFromJwk(final String json) {
CommonHelper.assertNotBlank("json", json);
try {
final RSAKey rsaKey = RSAKey.parse(json);
return rsaKey.toKeyPair();
} catch (final JOSEExceptionParseException | e) {
throw new TechnicalException(e);
}
}