⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 postprofiletest.java

📁 开放源代码的基于SAML的单点登录系统
💻 JAVA
字号:
package org.opensaml;import java.io.FileInputStream;import java.security.KeyStore;import java.util.Arrays;import java.util.Collections;import java.util.Date;import java.util.Iterator;import org.apache.xml.security.signature.XMLSignature;import junit.framework.TestCase;/** * @author Scott Cantor * */public class POSTProfileTest extends TestCase{    private String path = "data/org/opensaml/test.jks";    private String alias = "mykey";    private char[] password = "opensaml".toCharArray();    private KeyStore ks = null;        /**     * Constructor for POSTProfileTest.     * @param arg0     */    public POSTProfileTest(String arg0)    {        super(arg0);    }    public static void main(String[] args)    {        junit.textui.TestRunner.run(POSTProfileTest.class);    }    /**     * @see TestCase#setUp()     */    protected void setUp() throws Exception    {        super.setUp();        ks = KeyStore.getInstance("JKS");        ks.load(new FileInputStream(path), password);    }    /**     * @see TestCase#tearDown()     */    protected void tearDown() throws Exception    {        super.tearDown();    }    public void testPOSTProfile() throws Exception    {        SAMLResponse r = SAMLPOSTProfile.prepare(            "www.opensaml.org",            "www.opensaml.org",            Collections.singleton("http://www.opensaml.org"),            "foo",            "foo",            null,            "127.0.0.1",            "foo",            new Date(),            Collections.singleton(            		new SAMLAuthorityBinding(SAMLBinding.SAML_SOAP_HTTPS,                            "http://www.opensaml.org",                            new QName(XML.SAMLP_NS,"AttributeQuery")                            )                    )            );        assertNotNull("No SAMLResponse was generated.",r);        Iterator i = r.getAssertions();        ((SAMLAssertion)i.next()).sign(            XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA1,            ks.getKey(alias,password),            Arrays.asList(ks.getCertificateChain(alias))            );        r.sign(            XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA1,            ks.getKey(alias,password),            Arrays.asList(ks.getCertificateChain(alias))            );        assertTrue("SAMLResponse is not signed.",r.isSigned());        System.err.println("================ Generated Response ===============");        r.toStream(System.err);        System.err.println();                r.verify(ks.getCertificate(alias));                SAMLResponse r2 = SAMLPOSTProfile.accept(r.toBase64(), "www.opensaml.org", 60, true);        assertTrue("SAMLResponse is not signed.",r2.isSigned());        SAMLPOSTProfile.getSSOAssertion(r2,Collections.singleton("http://www.opensaml.org")).verify(ks.getCertificate(alias));        r2.verify(ks.getCertificate(alias));        System.err.println("================ Verified Response ===============");        r2.toStream(System.err);        System.err.println();    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -