[java-identity-provider COMMIT] in /trunk/idp-saml-impl/src: main/java/net/shibboleth/idp/saml/impl/profile/saml2/Dec...
noreply at shibboleth.net
noreply at shibboleth.net
Wed Feb 5 22:28:41 EST 2014
Author: scantor
Date: Wed Feb 5 22:28:40 2014
New Revision: 5319
URL: http://svn.shibboleth.net/view/java-identity-provider?rev=5319&view=rev
Log:
IDP-139 - action to decrypt NameIDs
Added:
trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/profile/saml2/DecryptNameIDs.java
- copied, changed from r5318, trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/profile/saml2/DecryptNameID.java
trunk/idp-saml-impl/src/test/java/net/shibboleth/idp/saml/impl/profile/saml2/DecryptNameIDsTest.java (with props)
Modified:
trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/profile/saml2/DecryptNameID.java
Copied: trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/profile/saml2/DecryptNameIDs.java (from r5318, trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/profile/saml2/DecryptNameID.java)
URL: http://svn.shibboleth.net/view/java-identity-provider/trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/profile/saml2/DecryptNameIDs.java?p2=trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/profile/saml2/DecryptNameIDs.java&p1=trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/profile/saml2/DecryptNameID.java&r1=5318&r2=5319&rev=5319&view=diff
==============================================================================
--- trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/profile/saml2/DecryptNameID.java (original)
+++ trunk/idp-saml-impl/src/main/java/net/shibboleth/idp/saml/impl/profile/saml2/DecryptNameIDs.java Wed Feb 5 22:28:40 2014
@@ -35,21 +35,26 @@
import org.opensaml.profile.context.navigate.InboundMessageContextLookup;
import org.opensaml.saml.common.SAMLObject;
import org.opensaml.saml.common.profile.SAMLEventIds;
+import org.opensaml.saml.ext.saml2delrestrict.Delegate;
+import org.opensaml.saml.ext.saml2delrestrict.DelegationRestrictionType;
import org.opensaml.saml.saml2.core.Assertion;
import org.opensaml.saml.saml2.core.AuthnRequest;
+import org.opensaml.saml.saml2.core.Condition;
import org.opensaml.saml.saml2.core.EncryptedID;
import org.opensaml.saml.saml2.core.LogoutRequest;
-import org.opensaml.saml.saml2.core.LogoutResponse;
import org.opensaml.saml.saml2.core.ManageNameIDRequest;
-import org.opensaml.saml.saml2.core.ManageNameIDResponse;
import org.opensaml.saml.saml2.core.NameID;
import org.opensaml.saml.saml2.core.NameIDMappingRequest;
import org.opensaml.saml.saml2.core.NameIDMappingResponse;
+import org.opensaml.saml.saml2.core.NewEncryptedID;
+import org.opensaml.saml.saml2.core.NewID;
import org.opensaml.saml.saml2.core.Response;
import org.opensaml.saml.saml2.core.Subject;
import org.opensaml.saml.saml2.core.SubjectConfirmation;
import org.opensaml.saml.saml2.core.SubjectQuery;
+import org.opensaml.saml.saml2.encryption.Decrypter;
import org.opensaml.xmlsec.DecryptionConfiguration;
+import org.opensaml.xmlsec.encryption.support.DecryptionException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -70,10 +75,10 @@
* @event {@link IdPEventIds#INVALID_PROFILE_CONFIG}
* @event {@link SAMLEventIds#DECRYPT_NAMEID_FAILED}
*/
-public class DecryptNameID extends AbstractProfileAction {
+public class DecryptNameIDs extends AbstractProfileAction {
/** Class logger. */
- @Nonnull private final Logger log = LoggerFactory.getLogger(DecryptNameID.class);
+ @Nonnull private final Logger log = LoggerFactory.getLogger(DecryptNameIDs.class);
/** Are decryption failures a fatal condition? */
private boolean errorFatal;
@@ -91,7 +96,8 @@
@Nullable private Object message;
/** Constructor. */
- public DecryptNameID() {
+ public DecryptNameIDs() {
+ errorFatal = true;
relyingPartyContextLookupStrategy = new ChildContextLookup<>(RelyingPartyContext.class, false);
messageLookupStrategy = Functions.compose(new MessageLookup(), new InboundMessageContextLookup());
}
@@ -171,6 +177,7 @@
return super.doPreExecute(profileRequestContext);
}
+ // Checkstyle: CyclomaticComplexity OFF
/** {@inheritDoc} */
@Override
protected void doExecute(@Nonnull final ProfileRequestContext profileRequestContext) throws ProfileException {
@@ -182,21 +189,22 @@
} else if (message instanceof SubjectQuery) {
result = processSubject(((SubjectQuery) message).getSubject());
} else if (message instanceof Response) {
-
+ for (final Assertion a : ((Response) message).getAssertions()) {
+ if (!processAssertion(a)) {
+ result = false;
+ break;
+ }
+ }
} else if (message instanceof LogoutRequest) {
-
- } else if (message instanceof LogoutResponse) {
-
+ result = processLogoutRequest((LogoutRequest) message);
} else if (message instanceof ManageNameIDRequest) {
-
- } else if (message instanceof ManageNameIDResponse) {
-
[... 209 lines stripped ...]
More information about the commits
mailing list