• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java JWEAlgorithm类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中com.nimbusds.jose.JWEAlgorithm的典型用法代码示例。如果您正苦于以下问题:Java JWEAlgorithm类的具体用法?Java JWEAlgorithm怎么用?Java JWEAlgorithm使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



JWEAlgorithm类属于com.nimbusds.jose包,在下文中一共展示了JWEAlgorithm类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: encode

import com.nimbusds.jose.JWEAlgorithm; //导入依赖的package包/类
public String encode(String payload) {
    JWEAlgorithm alg = JWEAlgorithm.A128KW;
    EncryptionMethod encryptionMethod = EncryptionMethod.A128GCM;

    try {
        byte[] decodedKey = Base64.getDecoder().decode(encodedKeypair);
        SecretKey key = new SecretKeySpec(decodedKey, 0, decodedKey.length, "AES");
        JWEObject jwe = new JWEObject(
                new JWEHeader(alg, encryptionMethod),
                new Payload(payload));
        jwe.encrypt(new AESEncrypter(key));
        return jwe.serialize();

    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}
 
开发者ID:PacktPublishing,项目名称:OAuth-2.0-Cookbook,代码行数:18,代码来源:JweTokenSerializer.java


示例2: encrypt

import com.nimbusds.jose.JWEAlgorithm; //导入依赖的package包/类
public String encrypt(String data, String keyId, String aesKey) {

        try {
            byte[] keyBytes = Base64.decode(aesKey);
            SecretKeySpec secretKey = new SecretKeySpec(keyBytes, 0, keyBytes.length, "AES");

            JWEAlgorithm jweAlgorithm = JWEAlgorithm.A256KW;
            EncryptionMethod encryptionMethod = EncryptionMethod.A128GCM;
            JWEHeader.Builder headerBuilder = new JWEHeader.Builder(jweAlgorithm, encryptionMethod);

            headerBuilder.keyID(keyId);

            JWEHeader header = headerBuilder.build();
            JWEEncrypter encrypter = new AESEncrypter(secretKey);
            encrypter.getJCAContext().setProvider(BouncyCastleProviderSingleton.getInstance());
            JWEObject jweObject = new JWEObject(header, new Payload(data));
            jweObject.encrypt(encrypter);
            return jweObject.serialize();
        } catch (Exception e) {
            throw new CryptoException("Exception encrypting data: " + e.getMessage(), e);
        }
    }
 
开发者ID:americanexpress,项目名称:amex-api-java-client-core,代码行数:23,代码来源:EncryptionUtility.java


示例3: getToken

import com.nimbusds.jose.JWEAlgorithm; //导入依赖的package包/类
public Result getToken() throws NoSuchAlgorithmException, NoSuchProviderException {

		CommonProfile prof = new CommonProfile();
		prof.setClientName("flo");
		prof.setId(UUID.randomUUID().toString());
		KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA");
		SecureRandom random = SecureRandom.getInstance("SHA1PRNG");
		keyGen.initialize(1024, random);

		KeyPair pair = keyGen.generateKeyPair();
		EncryptionConfiguration ee = new RSAEncryptionConfiguration(pair, JWEAlgorithm.RSA1_5,
				EncryptionMethod.A256CBC_HS512);

		final List<CommonProfile> profiles = ImmutableList.of(prof);
		final JwtGenerator<CommonProfile> generator = new JwtGenerator<>();
		generator.setEncryptionConfiguration(ee);
		String token = "";
		if (CommonHelper.isNotEmpty(profiles)) {
			token = generator.generate(profiles.get(0));
		}

		return ok(Json.toJson(token));
	}
 
开发者ID:daflockinger,项目名称:spongeblog,代码行数:24,代码来源:AuthenticateController.java


示例4: testEncryptDecryptPlainJWT

import com.nimbusds.jose.JWEAlgorithm; //导入依赖的package包/类
@Test
public void testEncryptDecryptPlainJWT() throws ParseException, JOSEException {
    final SecretEncryptionConfiguration config = new SecretEncryptionConfiguration(MAC_SECRET);
    config.setAlgorithm(JWEAlgorithm.A256GCMKW);
    config.setMethod(EncryptionMethod.A128GCM);

    final JWT jwt = new PlainJWT(buildClaims());
    final String token = config.encrypt(jwt);
    final EncryptedJWT encryptedJwt = (EncryptedJWT) JWTParser.parse(token);
    config.decrypt(encryptedJwt);
    final JWT jwt2 = encryptedJwt;
    assertEquals(VALUE, jwt2.getJWTClaimsSet().getSubject());
}
 
开发者ID:yaochi,项目名称:pac4j-plus,代码行数:14,代码来源:SecretEncryptionConfigurationTests.java


示例5: testEncryptDecryptSignedJWT

import com.nimbusds.jose.JWEAlgorithm; //导入依赖的package包/类
@Test
public void testEncryptDecryptSignedJWT() throws ParseException, JOSEException {
    final SecretSignatureConfiguration macConfig = new SecretSignatureConfiguration(MAC_SECRET);
    final SignedJWT signedJWT = macConfig.sign(buildClaims());

    final ECEncryptionConfiguration config = new ECEncryptionConfiguration(buildKeyPair());
    config.setAlgorithm(JWEAlgorithm.ECDH_ES_A128KW);
    config.setMethod(EncryptionMethod.A192CBC_HS384);
    final String token = config.encrypt(signedJWT);
    final EncryptedJWT encryptedJwt = (EncryptedJWT) JWTParser.parse(token);
    config.decrypt(encryptedJwt);
    final SignedJWT signedJWT2 = encryptedJwt.getPayload().toSignedJWT();
    assertEquals(VALUE, signedJWT2.getJWTClaimsSet().getSubject());
}
 
开发者ID:yaochi,项目名称:pac4j-plus,代码行数:15,代码来源:ECEncryptionConfigurationTests.java


示例6: testEncryptDecryptPlainJWT

import com.nimbusds.jose.JWEAlgorithm; //导入依赖的package包/类
@Test
public void testEncryptDecryptPlainJWT() throws ParseException, JOSEException {
    final ECEncryptionConfiguration config = new ECEncryptionConfiguration(buildKeyPair());
    config.setAlgorithm(JWEAlgorithm.ECDH_ES_A256KW);
    config.setMethod(EncryptionMethod.A128GCM);

    final JWT jwt = new PlainJWT(buildClaims());
    final String token = config.encrypt(jwt);
    final EncryptedJWT encryptedJwt = (EncryptedJWT) JWTParser.parse(token);
    config.decrypt(encryptedJwt);
    final JWT jwt2 = encryptedJwt;
    assertEquals(VALUE, jwt2.getJWTClaimsSet().getSubject());
}
 
开发者ID:yaochi,项目名称:pac4j-plus,代码行数:14,代码来源:ECEncryptionConfigurationTests.java


示例7: testEncryptMissingKey

import com.nimbusds.jose.JWEAlgorithm; //导入依赖的package包/类
@Test
public void testEncryptMissingKey() throws ParseException, JOSEException {
    final ECEncryptionConfiguration config = new ECEncryptionConfiguration();
    config.setAlgorithm(JWEAlgorithm.ECDH_ES_A256KW);
    config.setMethod(EncryptionMethod.A128GCM);

    final JWT jwt = new PlainJWT(buildClaims());
    TestsHelper.expectException(() -> config.encrypt(jwt), TechnicalException.class, "publicKey cannot be null");
}
 
开发者ID:yaochi,项目名称:pac4j-plus,代码行数:10,代码来源:ECEncryptionConfigurationTests.java


示例8: testDecryptMissingKey

import com.nimbusds.jose.JWEAlgorithm; //导入依赖的package包/类
@Test
public void testDecryptMissingKey() throws ParseException, JOSEException {
    final ECEncryptionConfiguration config = new ECEncryptionConfiguration(buildKeyPair());
    config.setAlgorithm(JWEAlgorithm.ECDH_ES_A192KW);
    config.setMethod(EncryptionMethod.A128GCM);

    final JWT jwt = new PlainJWT(buildClaims());
    final String token = config.encrypt(jwt);
    final EncryptedJWT encryptedJwt = (EncryptedJWT) JWTParser.parse(token);
    final ECEncryptionConfiguration config2 = new ECEncryptionConfiguration();
    config2.setAlgorithm(JWEAlgorithm.ECDH_ES_A192KW);
    config2.setMethod(EncryptionMethod.A128GCM);
    TestsHelper.expectException(() -> config2.decrypt(encryptedJwt), TechnicalException.class, "privateKey cannot be null");
}
 
开发者ID:yaochi,项目名称:pac4j-plus,代码行数:15,代码来源:ECEncryptionConfigurationTests.java


示例9: testEncryptDecryptSignedJWT

import com.nimbusds.jose.JWEAlgorithm; //导入依赖的package包/类
@Test
public void testEncryptDecryptSignedJWT() throws ParseException, JOSEException {
    final SecretSignatureConfiguration macConfig = new SecretSignatureConfiguration(MAC_SECRET);
    final SignedJWT signedJWT = macConfig.sign(buildClaims());

    final RSAEncryptionConfiguration config = new RSAEncryptionConfiguration(buildKeyPair());
    config.setAlgorithm(JWEAlgorithm.RSA1_5);
    config.setMethod(EncryptionMethod.A192CBC_HS384);
    final String token = config.encrypt(signedJWT);
    final EncryptedJWT encryptedJwt = (EncryptedJWT) JWTParser.parse(token);
    config.decrypt(encryptedJwt);
    final SignedJWT signedJWT2 = encryptedJwt.getPayload().toSignedJWT();
    assertEquals(VALUE, signedJWT2.getJWTClaimsSet().getSubject());
}
 
开发者ID:yaochi,项目名称:pac4j-plus,代码行数:15,代码来源:RSAEncryptionConfigurationTests.java


示例10: testEncryptDecryptPlainJWT

import com.nimbusds.jose.JWEAlgorithm; //导入依赖的package包/类
@Test
public void testEncryptDecryptPlainJWT() throws ParseException, JOSEException {
    final RSAEncryptionConfiguration config = new RSAEncryptionConfiguration(buildKeyPair());
    config.setAlgorithm(JWEAlgorithm.RSA_OAEP);
    config.setMethod(EncryptionMethod.A128GCM);

    final JWT jwt = new PlainJWT(buildClaims());
    final String token = config.encrypt(jwt);
    final EncryptedJWT encryptedJwt = (EncryptedJWT) JWTParser.parse(token);
    config.decrypt(encryptedJwt);
    final JWT jwt2 = encryptedJwt;
    assertEquals(VALUE, jwt2.getJWTClaimsSet().getSubject());
}
 
开发者ID:yaochi,项目名称:pac4j-plus,代码行数:14,代码来源:RSAEncryptionConfigurationTests.java


示例11: testEncryptMissingKey

import com.nimbusds.jose.JWEAlgorithm; //导入依赖的package包/类
@Test
public void testEncryptMissingKey() throws ParseException, JOSEException {
    final RSAEncryptionConfiguration config = new RSAEncryptionConfiguration();
    config.setAlgorithm(JWEAlgorithm.RSA_OAEP);
    config.setMethod(EncryptionMethod.A128GCM);

    final JWT jwt = new PlainJWT(buildClaims());
    TestsHelper.expectException(() -> config.encrypt(jwt), TechnicalException.class, "publicKey cannot be null");
}
 
开发者ID:yaochi,项目名称:pac4j-plus,代码行数:10,代码来源:RSAEncryptionConfigurationTests.java


示例12: testDecryptMissingKey

import com.nimbusds.jose.JWEAlgorithm; //导入依赖的package包/类
@Test
public void testDecryptMissingKey() throws ParseException, JOSEException {
    final RSAEncryptionConfiguration config = new RSAEncryptionConfiguration(buildKeyPair());
    config.setAlgorithm(JWEAlgorithm.RSA_OAEP);
    config.setMethod(EncryptionMethod.A128GCM);

    final JWT jwt = new PlainJWT(buildClaims());
    final String token = config.encrypt(jwt);
    final EncryptedJWT encryptedJwt = (EncryptedJWT) JWTParser.parse(token);
    final RSAEncryptionConfiguration config2 = new RSAEncryptionConfiguration();
    config2.setAlgorithm(JWEAlgorithm.RSA_OAEP);
    config2.setMethod(EncryptionMethod.A128GCM);
    TestsHelper.expectException(() -> config2.decrypt(encryptedJwt), TechnicalException.class, "privateKey cannot be null");
}
 
开发者ID:yaochi,项目名称:pac4j-plus,代码行数:15,代码来源:RSAEncryptionConfigurationTests.java


示例13: getAuthenticator

import com.nimbusds.jose.JWEAlgorithm; //导入依赖的package包/类
@Override
protected Authenticator<TokenCredentials> getAuthenticator(final Credential credential) {
    final TokenCredential tokenCredential = (TokenCredential) credential;
    LOGGER.debug("Locating token secret for service [{}]", tokenCredential.getService());

    final RegisteredService service = this.servicesManager.findServiceBy(tokenCredential.getService());
    final String signingSecret = getRegisteredServiceJwtSigningSecret(service);
    final String encryptionSecret = getRegisteredServiceJwtEncryptionSecret(service);

    final String signingSecretAlg =
            StringUtils.defaultString(getRegisteredServiceJwtSecret(service, TokenConstants.PROPERTY_NAME_TOKEN_SECRET_SIGNING_ALG),
                    JWSAlgorithm.HS256.getName());

    final String encryptionSecretAlg =
            StringUtils.defaultString(getRegisteredServiceJwtSecret(service, TokenConstants.PROPERTY_NAME_TOKEN_SECRET_ENCRYPTION_ALG),
                    JWEAlgorithm.DIR.getName());

    final String encryptionSecretMethod =
            StringUtils.defaultString(getRegisteredServiceJwtSecret(service, TokenConstants.PROPERTY_NAME_TOKEN_SECRET_ENCRYPTION_METHOD),
                    EncryptionMethod.A192CBC_HS384.getName());

    if (StringUtils.isNotBlank(signingSecret)) {
        Set<Algorithm> sets = new HashSet<>();
        sets.addAll(JWSAlgorithm.Family.EC);
        sets.addAll(JWSAlgorithm.Family.HMAC_SHA);
        sets.addAll(JWSAlgorithm.Family.RSA);
        sets.addAll(JWSAlgorithm.Family.SIGNATURE);

        final JWSAlgorithm signingAlg = findAlgorithmFamily(sets, signingSecretAlg);

        final JwtAuthenticator a = new JwtAuthenticator();
        a.setSignatureConfiguration(new SecretSignatureConfiguration(signingSecret, signingAlg));

        if (StringUtils.isNotBlank(encryptionSecret)) {
            sets = new HashSet<>();
            sets.addAll(JWEAlgorithm.Family.AES_GCM_KW);
            sets.addAll(JWEAlgorithm.Family.AES_KW);
            sets.addAll(JWEAlgorithm.Family.ASYMMETRIC);
            sets.addAll(JWEAlgorithm.Family.ECDH_ES);
            sets.addAll(JWEAlgorithm.Family.PBES2);
            sets.addAll(JWEAlgorithm.Family.RSA);
            sets.addAll(JWEAlgorithm.Family.SYMMETRIC);

            final JWEAlgorithm encAlg = findAlgorithmFamily(sets, encryptionSecretAlg);

            sets = new HashSet<>();
            sets.addAll(EncryptionMethod.Family.AES_CBC_HMAC_SHA);
            sets.addAll(EncryptionMethod.Family.AES_GCM);

            final EncryptionMethod encMethod = findAlgorithmFamily(sets, encryptionSecretMethod);
            a.setEncryptionConfiguration(new SecretEncryptionConfiguration(encryptionSecret, encAlg, encMethod));
        } else {
            LOGGER.warn("JWT authentication is configured to share a single key for both signing/encryption");
        }
        return a;
    }
    LOGGER.warn("No token signing secret is defined for service [{}]. Ensure [{}] property is defined for service",
            service.getServiceId(), TokenConstants.PROPERTY_NAME_TOKEN_SECRET_SIGNING);
    return null;
}
 
开发者ID:mrluo735,项目名称:cas-5.1.0,代码行数:61,代码来源:TokenAuthenticationHandler.java


示例14: testMissingMethod

import com.nimbusds.jose.JWEAlgorithm; //导入依赖的package包/类
@Test
public void testMissingMethod() {
    final SecretEncryptionConfiguration config = new SecretEncryptionConfiguration(SECRET, JWEAlgorithm.DIR, null);
    TestsHelper.expectException(config::init, TechnicalException.class, "method cannot be null");
}
 
开发者ID:yaochi,项目名称:pac4j-plus,代码行数:6,代码来源:SecretEncryptionConfigurationTests.java


示例15: testUnsupportedAlgorithm

import com.nimbusds.jose.JWEAlgorithm; //导入依赖的package包/类
@Test
public void testUnsupportedAlgorithm() {
    final SecretEncryptionConfiguration config = new SecretEncryptionConfiguration(SECRET, JWEAlgorithm.ECDH_ES, EncryptionMethod.A128CBC_HS256);
    TestsHelper.expectException(config::init, TechnicalException.class, "Only the direct and AES algorithms are supported with the appropriate encryption method");
}
 
开发者ID:yaochi,项目名称:pac4j-plus,代码行数:6,代码来源:SecretEncryptionConfigurationTests.java


示例16: testMissingMethod

import com.nimbusds.jose.JWEAlgorithm; //导入依赖的package包/类
@Test
public void testMissingMethod() {
    final ECEncryptionConfiguration config = new ECEncryptionConfiguration(buildKeyPair(), JWEAlgorithm.ECDH_ES, null);
    TestsHelper.expectException(config::init, TechnicalException.class, "method cannot be null");
}
 
开发者ID:yaochi,项目名称:pac4j-plus,代码行数:6,代码来源:ECEncryptionConfigurationTests.java


示例17: testUnsupportedAlgorithm

import com.nimbusds.jose.JWEAlgorithm; //导入依赖的package包/类
@Test
public void testUnsupportedAlgorithm() {
    final ECEncryptionConfiguration config = new ECEncryptionConfiguration(buildKeyPair(), JWEAlgorithm.RSA_OAEP_256, EncryptionMethod.A128CBC_HS256);
    TestsHelper.expectException(config::init, TechnicalException.class, "Only Elliptic-curve algorithms are supported with the appropriate encryption method");
}
 
开发者ID:yaochi,项目名称:pac4j-plus,代码行数:6,代码来源:ECEncryptionConfigurationTests.java


示例18: testMissingMethod

import com.nimbusds.jose.JWEAlgorithm; //导入依赖的package包/类
@Test
public void testMissingMethod() {
    final RSAEncryptionConfiguration config = new RSAEncryptionConfiguration(buildKeyPair(), JWEAlgorithm.RSA1_5, null);
    TestsHelper.expectException(config::init, TechnicalException.class, "method cannot be null");
}
 
开发者ID:yaochi,项目名称:pac4j-plus,代码行数:6,代码来源:RSAEncryptionConfigurationTests.java


示例19: testUnsupportedAlgorithm

import com.nimbusds.jose.JWEAlgorithm; //导入依赖的package包/类
@Test
public void testUnsupportedAlgorithm() {
    final RSAEncryptionConfiguration config = new RSAEncryptionConfiguration(buildKeyPair(), JWEAlgorithm.ECDH_ES, EncryptionMethod.A128CBC_HS256);
    TestsHelper.expectException(config::init, TechnicalException.class, "Only RSA algorithms are supported with the appropriate encryption method");
}
 
开发者ID:yaochi,项目名称:pac4j-plus,代码行数:6,代码来源:RSAEncryptionConfigurationTests.java


示例20: setJweAlgorithm

import com.nimbusds.jose.JWEAlgorithm; //导入依赖的package包/类
public void setJweAlgorithm(JWEAlgorithm jweAlgorithm) {
    Assert.notNull(jweAlgorithm);
    this.jweAlgorithm = jweAlgorithm;
}
 
开发者ID:AusDTO,项目名称:spring-security-stateless,代码行数:5,代码来源:JwtEncryption.java



注:本文中的com.nimbusds.jose.JWEAlgorithm类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java JFrameOperator类代码示例发布时间:2022-05-23
下一篇:
Java Sessions类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap