热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

com.nimbusds.jose.JWEObject.serialize()方法的使用及代码示例

本文整理了Java中com.nimbusds.jose.JWEObject.serialize()方法的一些代码示例,展示了JWEObject.serial

本文整理了Java中com.nimbusds.jose.JWEObject.serialize()方法的一些代码示例,展示了JWEObject.serialize()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JWEObject.serialize()方法的具体详情如下:
包路径:com.nimbusds.jose.JWEObject
类名称:JWEObject
方法名:serialize

JWEObject.serialize介绍

[英]Serialises this JWE object to its compact format consisting of Base64URL-encoded parts delimited by period ('.') characters. It must be in a State#ENCRYPTED or State#DECRYPTED state.

[header-base64url].[encryptedKey-base64url].[iv-base64url].[cipherText-base64url].[authTag-base64url]

[中]将此JWE对象序列化为其压缩格式,该格式由以句点('.')分隔的Base64URL编码部分组成。它必须处于加密或解密状态

[header-base64url].[encryptedKey-base64url].[iv-base64url].[cipherText-base64url].[authTag-base64url]

代码示例

代码示例来源:origin: naturalprogrammer/spring-lemon

@Override
public String createToken(String aud, String subject, Long expirationMillis, Map claimMap) {

Payload payload = createPayload(aud, subject, expirationMillis, claimMap);

// Create the JWE object and encrypt it
JWEObject jweObject = new JWEObject(header, payload);

try {

jweObject.encrypt(encrypter);

} catch (JOSEException e) {

throw new RuntimeException(e);
}
// Serialize to compact JOSE form...
return jweObject.serialize();
}

代码示例来源:origin: de.adorsys.psd2/consent-management-lib

@Override
public Optional encryptData(byte[] data, String password) {
try {
Payload payload = new Payload(data);
SecretKey key = getSecretKey(password);
JWEHeader header = new JWEHeader(ALGORITHM, METHOD);
JWEObject jweObject = new JWEObject(header, payload);
JWEEncrypter encrypter = new AESEncrypter(key.getEncoded());
jweObject.encrypt(encrypter);
String encryptedData = jweObject.serialize();
return Optional.of(new EncryptedData(encryptedData.getBytes()));
} catch (GeneralSecurityException | JOSEException e) {
log.error("Error encryption data: {}", e);
}
return Optional.empty();
}

代码示例来源:origin: adorsys/xs2a

@Override
public Optional encryptData(byte[] data, String password) {
try {
Payload payload = new Payload(data);
SecretKey key = getSecretKey(password);
JWEHeader header = new JWEHeader(ALGORITHM, METHOD);
JWEObject jweObject = new JWEObject(header, payload);
JWEEncrypter encrypter = new AESEncrypter(key.getEncoded());
jweObject.encrypt(encrypter);
String encryptedData = jweObject.serialize();
return Optional.of(new EncryptedData(encryptedData.getBytes()));
} catch (GeneralSecurityException | JOSEException e) {
log.error("Error encryption data: {}", e);
}
return Optional.empty();
}

代码示例来源:origin: de.adorsys.sts/sts-simple-encryption

public String encrypt(String plainText) {
Payload payload = new Payload(plainText);
JWEObject jweObject = new JWEObject(header, payload);
try {
jweObject.encrypt(jweEncrypter);
} catch (JOSEException e) {
throw new EncryptionException(e);
}
return jweObject.serialize();
}
}

代码示例来源:origin: de.adorsys.keycloak/user-secret-adapter-embedded

private String encrypt(String plain, byte[] key) {
Builder headerBuilder = new JWEHeader.Builder(JWEAlgorithm.DIR, EncryptionMethod.A128GCM);
JWEObject jweObj = new JWEObject(headerBuilder.build(), new Payload(plain));
try {
jweObj.encrypt(new DirectEncrypter(key));
} catch (JOSEException e) {
throw new IllegalStateException(e);
}
return jweObj.serialize();
}

代码示例来源:origin: de.adorsys.keycloak/user-secret-adapter-embedded

private String generateUserMainSecret(UserModel userModel, String secretAttrName, byte[] secretEncryptionPasswordPBKDF2) {
String userMainSecretPlain = RandomStringUtils.randomGraph(16);
Builder headerBuilder = new JWEHeader.Builder(JWEAlgorithm.DIR, EncryptionMethod.A128GCM);
JWEObject jweObj = new JWEObject(headerBuilder.build(), new Payload(userMainSecretPlain));
try {
jweObj.encrypt(new DirectEncrypter(secretEncryptionPasswordPBKDF2));
} catch (JOSEException e) {
throw new IllegalStateException(e);
}
String customSecretAttr = jweObj.serialize();
userModel.setAttribute(secretAttrName, Arrays.asList(customSecretAttr));
return userMainSecretPlain;
}

代码示例来源:origin: de.adorsys.sts/sts-resource-server

public String encrypt(JWK jwk, String rawSecret) throws SecretEncryptionException {
JWEEncrypter jweEncrypter;
jweEncrypter = JWEEncryptedSelector.getEncrypter(jwk, null, null);
Payload payload = new Payload(rawSecret);
// JWE encrypt secret.
JWEObject jweObj;
try {
jweObj = new JWEObject(getHeader(jwk), payload);
jweObj.encrypt(jweEncrypter);
} catch (JOSEException e) {
throw new SecretEncryptionException(e);
}
return jweObj.serialize();
}

代码示例来源:origin: de.adorsys.oauth/oauth-server

public static String serialize(JWTClaimsSet claimsSet, byte[] key) {
try {
// Create HMAC signer
JWSSigner signer = new MACSigner(key);
SignedJWT signedJWT = new SignedJWT(HEADER, claimsSet);
// Apply the HMAC
signedJWT.sign(signer);
// Create JWE object with signed JWT as payload

JWEObject jweObject = new JWEObject(
JWE_HEADER,
new Payload(signedJWT));
// Perform encryption
jweObject.encrypt(new DirectEncrypter(key));
// Serialise to JWE compact form
String jweString = jweObject.serialize();
return jweString;
} catch (JOSEException e) {
throw new IllegalStateException(e);
}
}

代码示例来源:origin: io.gravitee.management.idp/gravitee-management-api-idp-core

public String serialize(IdentityReference reference) throws Exception {
// Create HMAC signer
JWSSigner signer = new MACSigner(secretKey.getEncoded());
// Prepare JWT with claims set
JWTClaimsSet claimsSet = new JWTClaimsSet.Builder()
.subject(reference.getReference())
.issuer(reference.getSource())
.build();
SignedJWT signedJWT = new SignedJWT(new JWSHeader(JWSAlgorithm.HS256), claimsSet);
// Apply the HMAC protection
signedJWT.sign(signer);
// Create JWE object with signed JWT as payload
JWEObject jweObject = new JWEObject(
new JWEHeader.Builder(JWEAlgorithm.DIR, EncryptionMethod.A256GCM)
.contentType("JWT") // required to signal nested JWT
.build(),
new Payload(signedJWT));
// Perform encryption
jweObject.encrypt(new DirectEncrypter(secretKey.getEncoded()));
// Serialize to compact form
return new String(Base64.getEncoder().encode(jweObject.serialize().getBytes()));
}

代码示例来源:origin: gravitee-io/gravitee-management-rest-api

public String serialize(IdentityReference reference) throws Exception {
// Create HMAC signer
JWSSigner signer = new MACSigner(secretKey.getEncoded());
// Prepare JWT with claims set
JWTClaimsSet claimsSet = new JWTClaimsSet.Builder()
.subject(reference.getReference())
.issuer(reference.getSource())
.build();
SignedJWT signedJWT = new SignedJWT(new JWSHeader(JWSAlgorithm.HS256), claimsSet);
// Apply the HMAC protection
signedJWT.sign(signer);
// Create JWE object with signed JWT as payload
JWEObject jweObject = new JWEObject(
new JWEHeader.Builder(JWEAlgorithm.DIR, EncryptionMethod.A256GCM)
.contentType("JWT") // required to signal nested JWT
.build(),
new Payload(signedJWT));
// Perform encryption
jweObject.encrypt(new DirectEncrypter(secretKey.getEncoded()));
// Serialize to compact form
return new String(Base64.getEncoder().encode(jweObject.serialize().getBytes()));
}

代码示例来源:origin: de.adorsys.cryptoutils/encobject-jcloud

String jweEncryptedObject = jweObject.serialize();

代码示例来源:origin: de.adorsys.cryptoutils/encobject

@Override
public byte[] encrypt(byte[] data, KeySource keySource, KeyID keyID, Boolean compress) {
try {
ContentMetaInfo metaInfo = new ContentMetaInfo();
Key key = keySource.readKey(keyID);
PersistenceLayerContentMetaInfoUtil.setKeyID(metaInfo, keyID);
PersistenceLayerContentMetaInfoUtil.setEncryptionType(metaInfo, EncryptionType.JWE);
EncryptionParams encParams = EncParamSelector.selectEncryptionParams(key);
JWEHeader.Builder headerBuilder = new JWEHeader.Builder(encParams.getEncAlgo(), encParams.getEncMethod()).keyID(keyID.getValue());
ContentMetaInfoUtils.metaInfo2Header(metaInfo, headerBuilder);
if (compress != null && compress) {
headerBuilder = headerBuilder.compressionAlgorithm(CompressionAlgorithm.DEF);
}
JWEHeader header = headerBuilder.build();
JWEEncrypter jweEncrypter = JWEEncryptedSelector.getEncrypter(key, encParams.getEncAlgo(), encParams.getEncMethod());
JWEObject jweObject = new JWEObject(header, new Payload(data));
jweObject.encrypt(jweEncrypter);
String jweEncryptedObject = jweObject.serialize();
byte[] bytesToStore = jweEncryptedObject.getBytes("UTF-8");
return bytesToStore;
} catch (Exception e) {
throw BaseExceptionHandler.handle(e);
}
}

代码示例来源:origin: GluuFederation/oxAuth

return jweObject.serialize();
} catch (Exception e) {
System.out.println("Error encryption with Nimbus: " + e.getMessage());

代码示例来源:origin: org.pac4j/pac4j-jwt

return jweObject.serialize();
} else {

代码示例来源:origin: GluuFederation/oxAuth

@Test
public void nestedJWT() throws Exception {
RSAKey senderJWK = (RSAKey) JWK.parse(senderJwkJson);
RSAKey recipientPublicJWK = (RSAKey) (JWK.parse(recipientJwkJson));
// Create JWT
SignedJWT signedJWT = new SignedJWT(
new JWSHeader.Builder(JWSAlgorithm.RS256).keyID(senderJWK.getKeyID()).build(),
new JWTClaimsSet.Builder()
.subject("testi")
.issuer("https:devgluu.saminet.local")
.build());
signedJWT.sign(new RSASSASigner(senderJWK));
JWEObject jweObject = new JWEObject(
new JWEHeader.Builder(JWEAlgorithm.RSA_OAEP, EncryptionMethod.A128GCM)
.contentType("JWT") // required to indicate nested JWT
.build(),
new Payload(signedJWT));
// Encrypt with the recipient's public key
RSAEncrypter encrypter = new RSAEncrypter(recipientPublicJWK);
jweObject.encrypt(encrypter);
final String jweString = jweObject.serialize();
decryptAndValidateSignatureWithGluu(jweString);
}

代码示例来源:origin: org.apache.kerby/token-provider

throw new KrbException("Failed to encrypt the JWE object", e);
tokenStr = jweObject.serialize();
} else {
tokenStr = signedJWT.serialize();

代码示例来源:origin: apache/directory-kerby

throw new KrbException("Failed to encrypt the JWE object", e);
tokenStr = jweObject.serialize();
} else {
tokenStr = signedJWT.serialize();

推荐阅读
author-avatar
归向大海_651
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有