Package org.apache.wss4j.dom

Examples of org.apache.wss4j.dom.WSSecurityEngine


        secretKeyCallbackHandler.addSecretKey(identifier, keyData);
       
        Element securityHeader = WSSecurityUtil.getSecurityHeader(signedDoc, null);
        AlgorithmSuite algorithmSuite = createAlgorithmSuite();
       
        WSSecurityEngine secEngine = new WSSecurityEngine();
        RequestData data = new RequestData();
        SignatureActionToken actionToken = new SignatureActionToken();
        actionToken.setCrypto(crypto);
        data.setSignatureToken(actionToken);
        data.setCallbackHandler(secretKeyCallbackHandler);
        data.setAlgorithmSuite(algorithmSuite);
       
        try {
            secEngine.processSecurityHeader(securityHeader, data);
            fail("Expected failure as HMAC-SHA1 is not allowed");
        } catch (WSSecurityException ex) {
            // expected
        }
       
        algorithmSuite.addSignatureMethod(WSConstants.HMAC_SHA1);
        secEngine.processSecurityHeader(securityHeader, data);
       
        algorithmSuite.setMinimumSymmetricKeyLength(256);
        try {
            secEngine.processSecurityHeader(securityHeader, data);
            fail("Expected failure as a 128 bit key is not allowed");
        } catch (WSSecurityException ex) {
            // expected
        }
       
        algorithmSuite.setMinimumSymmetricKeyLength(64);
        algorithmSuite.setMaximumSymmetricKeyLength(120);
        try {
            secEngine.processSecurityHeader(securityHeader, data);
            fail("Expected failure as a 128 bit key is not allowed");
        } catch (WSSecurityException ex) {
            // expected
        }
    }
View Full Code Here


    }

    private List<WSSecurityEngineResult> verify(
        Element securityHeader, AlgorithmSuite algorithmSuite, Crypto sigVerCrypto
    ) throws Exception {
        WSSecurityEngine secEngine = new WSSecurityEngine();
        RequestData data = new RequestData();
        data.setSigVerCrypto(sigVerCrypto);
       
        data.setAlgorithmSuite(algorithmSuite);
       
        List<BSPRule> ignoredRules = new ArrayList<BSPRule>();
        ignoredRules.add(BSPRule.R5404);
        ignoredRules.add(BSPRule.R5406);
        data.setIgnoredBSPRules(ignoredRules);
       
        return secEngine.processSecurityHeader(securityHeader, data);
    }
View Full Code Here

            LOG.debug("Message with UserNameToken PW Digest:");
            String outputString =
                XMLUtils.PrettyDocumentToString(signedDoc);
            LOG.debug(outputString);
        }
        WSSecurityEngine secEngine = new WSSecurityEngine();
        WSSConfig wssConfig = WSSConfig.getNewInstance();
       
        //
        // It should pass with PASSWORD_DIGEST
        //
        wssConfig.setRequiredPasswordType(WSConstants.PASSWORD_DIGEST);
        secEngine.setWssConfig(wssConfig);
        secEngine.processSecurityHeader(doc, null, callbackHandler, null);
       
        //
        // It should pass with null
        //
        wssConfig.setRequiredPasswordType(null);
        secEngine.setWssConfig(wssConfig);
        secEngine.processSecurityHeader(doc, null, callbackHandler, null);
       
        //
        // It should fail with PASSWORD_TEXT
        //
        try {
            wssConfig.setRequiredPasswordType(WSConstants.PASSWORD_TEXT);
            secEngine.setWssConfig(wssConfig);
            secEngine.processSecurityHeader(doc, null, callbackHandler, null);
            fail("Expected failure on the wrong password type");
        } catch (WSSecurityException ex) {
            assertTrue(ex.getErrorCode() == WSSecurityException.ErrorCode.FAILED_AUTHENTICATION);
            // expected
        }
View Full Code Here

            LOG.debug("Message with UserNameToken PW Text:");
            String outputString =
                XMLUtils.PrettyDocumentToString(signedDoc);
            LOG.debug(outputString);
        }
        WSSecurityEngine secEngine = new WSSecurityEngine();
        WSSConfig wssConfig = WSSConfig.getNewInstance();
       
        //
        // It should pass with PASSWORD_TEXT
        //
        wssConfig.setRequiredPasswordType(WSConstants.PASSWORD_TEXT);
        secEngine.setWssConfig(wssConfig);
        secEngine.processSecurityHeader(doc, null, callbackHandler, null);
       
        //
        // It should pass with null
        //
        wssConfig.setRequiredPasswordType(null);
        secEngine.setWssConfig(wssConfig);
        secEngine.processSecurityHeader(doc, null, callbackHandler, null);
       
        //
        // It should fail with PASSWORD_DIGEST
        //
        try {
            wssConfig.setRequiredPasswordType(WSConstants.PASSWORD_DIGEST);
            secEngine.setWssConfig(wssConfig);
            secEngine.processSecurityHeader(doc, null, callbackHandler, null);
            fail("Expected failure on the wrong password type");
        } catch (WSSecurityException ex) {
            assertTrue(ex.getErrorCode() == WSSecurityException.ErrorCode.FAILED_AUTHENTICATION);
            // expected
        }
View Full Code Here

        // It should fail on a different password type
        //
        config.put(WSHandlerConstants.PASSWORD_TYPE, WSConstants.PW_DIGEST);
        reqData.setMsgContext(config);
        handler.receive(Collections.singletonList(WSConstants.UT), reqData);
        WSSecurityEngine secEngine = new WSSecurityEngine();
        secEngine.setWssConfig(reqData.getWssConfig());
       
        try {
            secEngine.processSecurityHeader(doc, null, callbackHandler, null);
            fail("Expected failure on the wrong password type");
        } catch (WSSecurityException ex) {
            // expected
        }
    }
View Full Code Here

    }
   
    private List<WSSecurityEngineResult> verify(
        Element securityHeader, Crypto sigCrypto, String certConstraint
    ) throws Exception {
        WSSecurityEngine secEngine = new WSSecurityEngine();
        RequestData data = new RequestData();
        data.setSigVerCrypto(sigCrypto);
       
        if (certConstraint != null) {
            Pattern subjectDNPattern = Pattern.compile(certConstraint.trim());
            data.setSubjectCertConstraints(Collections.singletonList(subjectDNPattern));
        }
       
        return secEngine.processSecurityHeader(securityHeader, data);
    }
View Full Code Here

        if (LOG.isDebugEnabled()) {
            LOG.debug(outputString);
        }
        assertTrue(outputString.contains("RSAKeyValue"));
       
        WSSecurityEngine secEngine = new WSSecurityEngine();
        RequestData data = new RequestData();
        data.setSigVerCrypto(crypto);
        data.setIgnoredBSPRules(Collections.singletonList(BSPRule.R5417));
        final List<WSSecurityEngineResult> results =
            secEngine.processSecurityHeader(signedDoc, "", data);

        WSSecurityEngineResult actionResult =
            WSSecurityUtil.fetchActionResult(results, WSConstants.SIGN);
        assertTrue(actionResult != null);
       
View Full Code Here

            LOG.debug(outputString);
        }
        assertTrue(outputString.contains("RSAKeyValue"));
       
        try {
            WSSecurityEngine secEngine = new WSSecurityEngine();
            RequestData data = new RequestData();
            data.setSigVerCrypto(crypto);
            data.setIgnoredBSPRules(Collections.singletonList(BSPRule.R5417));
            secEngine.processSecurityHeader(signedDoc, "", data);
            fail("Failure expected on bad public key");
        } catch (Exception ex) {
            // expected
        }
       
View Full Code Here

        if (LOG.isDebugEnabled()) {
            LOG.debug(outputString);
        }
        assertTrue(outputString.contains("DSAKeyValue"));
       
        WSSecurityEngine secEngine = new WSSecurityEngine();
        RequestData data = new RequestData();
        data.setSigVerCrypto(crypto);
        data.setIgnoredBSPRules(Collections.singletonList(BSPRule.R5417));
        final List<WSSecurityEngineResult> results =
            secEngine.processSecurityHeader(signedDoc, "", data);
       
        WSSecurityEngineResult actionResult =
            WSSecurityUtil.fetchActionResult(results, WSConstants.SIGN);
        assertTrue(actionResult != null);
       
View Full Code Here

        Crypto crypto
    ) throws Exception {
        WSSConfig config = WSSConfig.getNewInstance();
        config.setValidateSamlSubjectConfirmation(false);
       
        WSSecurityEngine secEngine = new WSSecurityEngine();
        secEngine.setWssConfig(config);
       
        if (validator != null && validatorName != null) {
            config.setValidator(validatorName, validator);
        }
        return secEngine.processSecurityHeader(doc, null, callbackHandler, crypto);
    }
View Full Code Here

TOP

Related Classes of org.apache.wss4j.dom.WSSecurityEngine

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.