Repository: cxf Updated Branches: refs/heads/3.1.x-fixes f68a90ad7 -> c1716eef7
Support none signature for JWT tokens Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/b0010ae5 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/b0010ae5 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/b0010ae5 Branch: refs/heads/3.1.x-fixes Commit: b0010ae554719e961891adb06a3dcd0bee1eb6ba Parents: f68a90a Author: Colm O hEigeartaigh <[email protected]> Authored: Thu Nov 5 15:56:09 2015 +0000 Committer: Colm O hEigeartaigh <[email protected]> Committed: Thu Nov 5 16:28:22 2015 +0000 ---------------------------------------------------------------------- .../cxf/rs/security/jose/jws/JwsUtils.java | 24 ++++++++++++-------- 1 file changed, 14 insertions(+), 10 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/b0010ae5/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsUtils.java ---------------------------------------------------------------------- diff --git a/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsUtils.java b/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsUtils.java index 3a9a91e..fcebd84 100644 --- a/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsUtils.java +++ b/rt/rs/security/jose-parent/jose/src/main/java/org/apache/cxf/rs/security/jose/jws/JwsUtils.java @@ -301,16 +301,20 @@ public final class JwsUtils { } } else { String signatureAlgo = getSignatureAlgo(m, props, null, null); - PrivateKey pk = KeyManagementUtils.loadPrivateKey(m, props, KeyOperation.SIGN); - theSigProvider = getPrivateKeySignatureProvider(pk, - SignatureAlgorithm.getAlgorithm(signatureAlgo)); - if (includeCert) { - headers.setX509Chain(KeyManagementUtils.loadAndEncodeX509CertificateOrChain(m, props)); - } - if (includeCertSha1) { - String digest = KeyManagementUtils.loadDigestAndEncodeX509Certificate(m, props); - if (digest != null) { - headers.setX509Thumbprint(digest); + if (SignatureAlgorithm.getAlgorithm(signatureAlgo) == SignatureAlgorithm.NONE) { + theSigProvider = new NoneJwsSignatureProvider(); + } else { + PrivateKey pk = KeyManagementUtils.loadPrivateKey(m, props, KeyOperation.SIGN); + theSigProvider = getPrivateKeySignatureProvider(pk, + SignatureAlgorithm.getAlgorithm(signatureAlgo)); + if (includeCert) { + headers.setX509Chain(KeyManagementUtils.loadAndEncodeX509CertificateOrChain(m, props)); + } + if (includeCertSha1) { + String digest = KeyManagementUtils.loadDigestAndEncodeX509Certificate(m, props); + if (digest != null) { + headers.setX509Thumbprint(digest); + } } } }
