• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java SignatureException类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.opensaml.xml.signature.SignatureException的典型用法代码示例。如果您正苦于以下问题:Java SignatureException类的具体用法?Java SignatureException怎么用?Java SignatureException使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



SignatureException类属于org.opensaml.xml.signature包,在下文中一共展示了SignatureException类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: createAuthnRequest

import org.opensaml.xml.signature.SignatureException; //导入依赖的package包/类
private String createAuthnRequest(String surl, 
                                          boolean fdeflate, String referer) 
        throws MarshallingException, IOException, SignatureException {
  AuthnRequest ar = createAuthnRequest(surl + "/saml2/consumer", 
        false, false, SAMLConstants.SAML2_POST_BINDING_URI, null, null);
  
  // Create signature and add to auth Request
  Signature sig = getSignature();
  ar.setSignature(sig);
  
  AuthnRequestMarshaller marshaller = new AuthnRequestMarshaller();
  Element arn = marshaller.marshall(ar);
  
  Signer.signObject(sig);
  
  byte[] res = XMLHelper.nodeToString(arn).getBytes();
  // System.out.println(new String(res));
  
  // Remember authentication request been sent
  String rid = ar.getID();
  SamlAbstractRequest sar = new SamlAbstractRequest(rid, referer);
  _rmap.put(rid, sar);
  
  return fdeflate ? deflate(res) : encode(res);
}
 
开发者ID:osbitools,项目名称:OsBiToolsWs,代码行数:26,代码来源:SamlSecurityProvider.java


示例2: createLogoutRequest

import org.opensaml.xml.signature.SignatureException; //导入依赖的package包/类
public LogoutRequest createLogoutRequest(Session session) 
           throws IOException, SignatureException, MarshallingException {
  if (_logout == null)
    return null;
  
  // Retrieve initial authn response
  Response resp = (Response)session.getCustomParams();
  LogoutRequest lr = createLogoutRequest(resp);
  
  // Create signature and add to auth Request
  LogoutRequestMarshaller marshaller = new LogoutRequestMarshaller();
  
  Signature sig = getSignature();
  lr.setSignature(sig);
  // Marshall object to prepare for signature
  marshaller.marshall(lr);
  Signer.signObject(sig);
  
  return lr;
}
 
开发者ID:osbitools,项目名称:OsBiToolsWs,代码行数:21,代码来源:SamlSecurityProvider.java


示例3: marshallSignableSamlObject

import org.opensaml.xml.signature.SignatureException; //导入依赖的package包/类
/**
 * Marshall an opensaml SignableSAMLObject.
 * 
 * @param signableSamlObject the SignableSAMLObject
 * @return the marshalled XML.
 * @throws MarshallingException
 * 
 * @throws SignatureException 
 */
public static String marshallSignableSamlObject(final SignableSAMLObject signableSamlObject)
		throws MarshallingException, SignatureException {
	String xmlMessage = null;
	try {
		Marshaller marshaller = Configuration.getMarshallerFactory().getMarshaller(signableSamlObject);
		Element element = marshaller.marshall(signableSamlObject);

		// Sign the saml object
		Signature signature = signableSamlObject.getSignature();
		Assert.notNull(signature, "The request is not signed !");
		Signer.signObject(signature);

		StringWriter rspWrt = new StringWriter();
		XMLHelper.writeNode(element, rspWrt);
		xmlMessage = rspWrt.toString();

		// Logging XML Authn Response
		OpenSamlHelper.LOGGER.debug("Marshalled SAML Object: {}", xmlMessage);
	} catch (MarshallingException e) {
		OpenSamlHelper.LOGGER.warn("Error while marshalling SAML 2.0 Object !", e);
		throw e;
	}

	return xmlMessage;
}
 
开发者ID:mxbossard,项目名称:java-saml2-sp,代码行数:35,代码来源:OpenSamlHelper.java


示例4: authenticate

import org.opensaml.xml.signature.SignatureException; //导入依赖的package包/类
@Override
public String authenticate(HttpServletRequest req, 
            String user, String password) throws WsSrvException {
  // Create AuthRequest
  try {
    return _login + "?" + URLEncoder.encode(createAuthnRequest(
                     getServiceLocation(req), getRefererUrl(req)), "UTF-8");
  } catch (MarshallingException | IOException | SignatureException e) {
    //-- 48
    throw new WsSrvException(48, e);
  }
}
 
开发者ID:osbitools,项目名称:OsBiToolsWs,代码行数:13,代码来源:SamlSecurityProvider.java


示例5: sign

import org.opensaml.xml.signature.SignatureException; //导入依赖的package包/类
/**
 * Signs the given metadata document root.
 * 
 * @param metadata metadata document
 * @param signingCredential credential used to sign the document
 */
private static void sign(SignableSAMLObject metadata, Credential signingCredential) {
    XMLObjectBuilder<Signature> sigBuilder = Configuration.getBuilderFactory().getBuilder(
            Signature.DEFAULT_ELEMENT_NAME);
    Signature signature = sigBuilder.buildObject(Signature.DEFAULT_ELEMENT_NAME);
    signature.setSigningCredential(signingCredential);
    metadata.setSignature(signature);

    try {
        Signer.signObject(signature);
    } catch (SignatureException e) {
        log.error("Error when attempting to sign object", e);
        System.exit(1);
    }
}
 
开发者ID:apigee,项目名称:java-opensaml2,代码行数:21,代码来源:MetadataTool.java


示例6: testAssertionSignature

import org.opensaml.xml.signature.SignatureException; //导入依赖的package包/类
/**
 * Creates a simple Assertion, signs it and then verifies the signature.
 * 
 * @throws MarshallingException thrown if the Assertion can not be marshalled into a DOM
 * @throws ValidationException thrown if the Signature does not validate
 * @throws SignatureException 
 * @throws UnmarshallingException 
 * @throws SecurityException 
 */
public void testAssertionSignature() 
    throws MarshallingException, ValidationException, SignatureException, UnmarshallingException, SecurityException{
    DateTime now = new DateTime();
    
    Assertion assertion = assertionBuilder.buildObject();
    assertion.setVersion(SAMLVersion.VERSION_20);
    assertion.setID(idGenerator.generateIdentifier());
    assertion.setIssueInstant(now);
    
    Issuer issuer = issuerBuilder.buildObject();
    issuer.setValue("urn:example.org:issuer");
    assertion.setIssuer(issuer);
    
    AuthnStatement authnStmt = authnStatementBuilder.buildObject();
    authnStmt.setAuthnInstant(now);
    assertion.getAuthnStatements().add(authnStmt);
    
    Signature signature = signatureBuilder.buildObject();
    signature.setSigningCredential(goodCredential);
    signature.setCanonicalizationAlgorithm(SignatureConstants.ALGO_ID_C14N_EXCL_OMIT_COMMENTS);
    signature.setSignatureAlgorithm(SignatureConstants.ALGO_ID_SIGNATURE_RSA);
    assertion.setSignature(signature);
    
    Marshaller marshaller = marshallerFactory.getMarshaller(assertion);
    marshaller.marshall(assertion);
    Signer.signObject(signature);
    
    
    // Unmarshall new tree around DOM to avoid side effects and Apache xmlsec bug.
    Assertion signedAssertion = 
        (Assertion) unmarshallerFactory.getUnmarshaller(assertion.getDOM()).unmarshall(assertion.getDOM());
    
    StaticCredentialResolver credResolver = new StaticCredentialResolver(goodCredential);
    KeyInfoCredentialResolver kiResolver = SecurityTestHelper.buildBasicInlineKeyInfoResolver();
    ExplicitKeySignatureTrustEngine trustEngine = new ExplicitKeySignatureTrustEngine(credResolver, kiResolver);
    
    CriteriaSet criteriaSet = new CriteriaSet( new EntityIDCriteria("urn:example.org:issuer") );
    assertTrue("Assertion signature was not valid",
            trustEngine.validate(signedAssertion.getSignature(), criteriaSet));
}
 
开发者ID:apigee,项目名称:java-opensaml2,代码行数:50,代码来源:SignedAssertionTest.java


示例7: buildSamlOutgoingMessage

import org.opensaml.xml.signature.SignatureException; //导入依赖的package包/类
/**
 * Prepare a new SAML 2.0 message to send to IdP.
 * 
 * @param samlObject
 *            the opensaml object to marshall
 * @param binding
 *            the binding to use
 * @param relayState
 * @return samlOutgoingMessage the outgoing message to send
 * @throws MarshallingException
 * @throws SignatureException
 */
protected SamlOutgoingMessage buildSamlOutgoingMessage(final IQuery samlQuery, final SAMLObject samlObject,
		final SamlBindingEnum binding, final String relayState, final String endpointUrl)
		throws MarshallingException, SignatureException {
	Assert.notNull(samlQuery, "No SAML Query provided !");
	Assert.notNull(samlObject, "No OpenSaml object provided !");
	Assert.notNull(binding, "No binding provided !");

	final SamlOutgoingMessage samlOutgoingMessage = new SamlOutgoingMessage(this.dataAdaptor);

	// SAML Query
	samlOutgoingMessage.setSamlQuery(samlQuery);

	// Relay State
	samlOutgoingMessage.setRelayState(relayState);
	if (this.logger.isDebugEnabled()) {
		this.logger.debug(String.format("Random RelayState: %s", relayState));
	}

	// MBD bug : Forgot to sign the SAML Object
	// Xml outgoing message
	final String xmlOutgoingMsg;
	if (SignableSAMLObject.class.isAssignableFrom(samlObject.getClass())) {
		final SignableSAMLObject signableSamlObject = (SignableSAMLObject) samlObject;
		xmlOutgoingMsg = OpenSamlHelper.marshallSignableSamlObject(signableSamlObject);
	} else {
		xmlOutgoingMsg = OpenSamlHelper.marshallXmlObject(samlObject);
	}

	samlOutgoingMessage.setSamlMessage(xmlOutgoingMsg);
	samlOutgoingMessage.setEndpointUrl(endpointUrl);

	return samlOutgoingMessage;
}
 
开发者ID:mxbossard,项目名称:java-saml2-sp,代码行数:46,代码来源:OpenSaml20IdpConnector.java


示例8: buildAssertion

import org.opensaml.xml.signature.SignatureException; //导入依赖的package包/类
private Assertion buildAssertion() throws NoSuchAlgorithmException, IllegalAccessException, KeyStoreException, java.security.cert.CertificateException,
		SignatureException, MarshallingException, CertificateException, IOException, SecurityException, MetadataProviderException {
	SecureRandomIdentifierGenerator idGenerator = new SecureRandomIdentifierGenerator();

	Assertion assertion = buildXMLObjectDefaultName(Assertion.class);

	Issuer issuer = buildXMLObjectDefaultName(Issuer.class);
	issuer.setValue(MockIDPProperties.getIdpEntityId());
	assertion.setIssuer(issuer);
	assertion.setIssueInstant(new DateTime());

	assertion.setID(idGenerator.generateIdentifier());

	Subject subject = buildXMLObjectDefaultName(Subject.class);
	assertion.setSubject(subject);

	NameID nameID = buildXMLObjectDefaultName(NameID.class);
	nameID.setFormat(NameIDType.TRANSIENT);
	nameID.setValue("5VkzP/MZ1PMJ62o45/7DdFms9y7K");
	nameID.setSPNameQualifier("steras-openam");
	nameID.setNameQualifier("FakeIdP");

	subject.setNameID(nameID);

	subject.getSubjectConfirmations().add(buildSubjectConfirmation());

	assertion.setConditions(buildConditions());

	assertion.getAttributeStatements().add(buildAttributeStatement());

	assertion.getAuthnStatements().add(buildAuthnStatement());

	signSAMLObject(assertion, getIDPKeyFromKeystore());
	return assertion;
}
 
开发者ID:rasmusson,项目名称:MockIDP,代码行数:36,代码来源:MockIDPArtifactResolve.java


示例9: generateSAMLAssertion

import org.opensaml.xml.signature.SignatureException; //导入依赖的package包/类
public static Element generateSAMLAssertion(PrivateKey privateKey, X509Certificate certificate, String issuerName,
		String subjectName)
		throws MarshallingException, SecurityException, SignatureException, NoSuchAlgorithmException {
	return generateSAMLAssertion(privateKey, certificate, issuerName, subjectName, null);
}
 
开发者ID:e-Contract,项目名称:dssp,代码行数:6,代码来源:TestUtils.java


示例10: generateHOKSAMLAssertion

import org.opensaml.xml.signature.SignatureException; //导入依赖的package包/类
public static Element generateHOKSAMLAssertion(PrivateKey issuerPrivateKey, X509Certificate issuerCertificate,
		String issuerName, String subjectName, PublicKey hokPublicKey)
		throws MarshallingException, SecurityException, SignatureException {
	Assertion assertion = buildXMLObject(Assertion.class, Assertion.DEFAULT_ELEMENT_NAME);
	assertion.setVersion(SAMLVersion.VERSION_20);
	String assertionId = "assertion-" + UUID.randomUUID().toString();
	assertion.setID(assertionId);
	DateTime issueInstant = new DateTime();
	assertion.setIssueInstant(issueInstant);

	Issuer issuer = buildXMLObject(Issuer.class, Issuer.DEFAULT_ELEMENT_NAME);
	assertion.setIssuer(issuer);
	issuer.setValue(issuerName);

	Subject subject = buildXMLObject(Subject.class, Subject.DEFAULT_ELEMENT_NAME);
	assertion.setSubject(subject);
	NameID subjectNameId = buildXMLObject(NameID.class, NameID.DEFAULT_ELEMENT_NAME);
	subject.setNameID(subjectNameId);
	subjectNameId.setValue(subjectName);
	SubjectConfirmation subjectConfirmation = buildXMLObject(SubjectConfirmation.class,
			SubjectConfirmation.DEFAULT_ELEMENT_NAME);
	subject.getSubjectConfirmations().add(subjectConfirmation);
	subjectConfirmation.setMethod(SubjectConfirmation.METHOD_HOLDER_OF_KEY);
	KeyInfoConfirmationDataType keyInfoConfirmationData = new KeyInfoConfirmationDataTypeBuilder()
			.buildObject(KeyInfoConfirmationDataType.DEFAULT_ELEMENT_NAME, KeyInfoConfirmationDataType.TYPE_NAME);
	subjectConfirmation.setSubjectConfirmationData(keyInfoConfirmationData);
	BasicKeyInfoGeneratorFactory keyInfoGeneratorFactory = new BasicKeyInfoGeneratorFactory();
	keyInfoGeneratorFactory.setEmitPublicKeyValue(true);
	BasicX509Credential keyInfoCredential = new BasicX509Credential();
	keyInfoCredential.setPublicKey(hokPublicKey);
	KeyInfo keyInfo = keyInfoGeneratorFactory.newInstance().generate(keyInfoCredential);
	keyInfoConfirmationData.getKeyInfos().add(keyInfo);

	BasicX509Credential credential = new BasicX509Credential();
	credential.setPrivateKey(issuerPrivateKey);
	credential.setEntityCertificate(issuerCertificate);

	Signature signature = (Signature) Configuration.getBuilderFactory().getBuilder(Signature.DEFAULT_ELEMENT_NAME)
			.buildObject(Signature.DEFAULT_ELEMENT_NAME);
	signature.setSigningCredential(credential);
	SecurityConfiguration secConfig = Configuration.getGlobalSecurityConfiguration();
	SecurityHelper.prepareSignatureParams(signature, credential, secConfig, null);

	assertion.setSignature(signature);

	Element element = Configuration.getMarshallerFactory().getMarshaller(assertion).marshall(assertion);

	Signer.signObject(signature);

	return element;
}
 
开发者ID:e-Contract,项目名称:dssp,代码行数:52,代码来源:TestUtils.java


示例11: buildArtifactResponse

import org.opensaml.xml.signature.SignatureException; //导入依赖的package包/类
private ArtifactResponse buildArtifactResponse() throws IllegalAccessException, NoSuchAlgorithmException, KeyStoreException,
		java.security.cert.CertificateException, CertificateException, IOException, SecurityException, EncryptionException, NoSuchProviderException,
		SignatureException, MarshallingException, MetadataProviderException {
	SecureRandomIdentifierGenerator idGenerator = new SecureRandomIdentifierGenerator();

	ArtifactResponse artifactResponse = buildXMLObjectDefaultName(ArtifactResponse.class);

	Issuer issuer = buildXMLObjectDefaultName(Issuer.class);
	issuer.setValue(MockIDPProperties.getIdpEntityId());
	artifactResponse.setIssuer(issuer);
	artifactResponse.setIssueInstant(new DateTime());
	artifactResponse.setDestination(MockIDPSPMetadata.getSpConsumerUrl());

	artifactResponse.setID(idGenerator.generateIdentifier());

	Status status = buildXMLObjectDefaultName(Status.class);
	StatusCode statusCode = buildXMLObjectDefaultName(StatusCode.class);
	statusCode.setValue(StatusCode.SUCCESS_URI);
	status.setStatusCode(statusCode);
	artifactResponse.setStatus(status);

	Response response = buildXMLObjectDefaultName(Response.class);
	response.setDestination(MockIDPSPMetadata.getSpConsumerUrl());
	response.setIssueInstant(new DateTime());
	response.setID(idGenerator.generateIdentifier());
	response.setInResponseTo(MockIDPAuthnReq.authnReqId);
	Issuer issuer2 = buildXMLObjectDefaultName(Issuer.class);
	issuer2.setValue(MockIDPProperties.getIdpEntityId());

	response.setIssuer(issuer2);

	Status status2 = buildXMLObjectDefaultName(Status.class);
	StatusCode statusCode2 = buildXMLObjectDefaultName(StatusCode.class);
	statusCode2.setValue(StatusCode.SUCCESS_URI);
	status2.setStatusCode(statusCode2);

	response.setStatus(status2);

	artifactResponse.setMessage(response);

	response.getEncryptedAssertions().add(encryptAssertion(buildAssertion()));
	return artifactResponse;
}
 
开发者ID:rasmusson,项目名称:MockIDP,代码行数:44,代码来源:MockIDPArtifactResolve.java


示例12: buildSamlOutgoingRequest

import org.opensaml.xml.signature.SignatureException; //导入依赖的package包/类
/**
 * Prepare a new SAML 2.0 outgoing request to send to IdP with a new generated relayState.
 * 
 * @param samlQuery
 *            SAML query object
 * @param request
 *            the opensaml object to marshall
 * @param binding
 *            the binding to use
 * @param relayState
 * @return samlOutgoingMessage the outgoing message to send
 * @throws MarshallingException
 * @throws SignatureException
 */
protected SamlOutgoingMessage buildSamlOutgoingRequest(final IRequestWaitingForResponse samlQuery,
		final RequestAbstractType request, final SamlBindingEnum binding, final String endpointUrl)
		throws MarshallingException, SignatureException {
	request.setID(samlQuery.getId());

	final String relayState = OpenSamlHelper.generateRelayState(this.getIdpConfig().getId(), binding);

	return this.buildSamlOutgoingMessage(samlQuery, request, binding, relayState, endpointUrl);
}
 
开发者ID:mxbossard,项目名称:java-saml2-sp,代码行数:24,代码来源:OpenSaml20IdpConnector.java



注:本文中的org.opensaml.xml.signature.SignatureException类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java EllipseMapObject类代码示例发布时间:2022-05-22
下一篇:
Java SnmpCounter类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap