当前位置: 首页>>代码示例>>Java>>正文


Java Signature.setSigningCredential方法代码示例

本文整理汇总了Java中org.opensaml.xmlsec.signature.Signature.setSigningCredential方法的典型用法代码示例。如果您正苦于以下问题:Java Signature.setSigningCredential方法的具体用法?Java Signature.setSigningCredential怎么用?Java Signature.setSigningCredential使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.opensaml.xmlsec.signature.Signature的用法示例。


在下文中一共展示了Signature.setSigningCredential方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setSignatureRaw

import org.opensaml.xmlsec.signature.Signature; //导入方法依赖的package包/类
/**
 * Generates an XML Object representing a digital signature.
 *
 * @param signatureAlgorithm the algorithm used to compute the signature
 * @param credential         the signature signing credentials
 * @return an XML Object representing an enveloped or detached XML Digital Signature
 * @throws SSOException if an error occurs while getting the signature
 */
private static Signature setSignatureRaw(String signatureAlgorithm, X509Credential credential) throws SSOException {
    Signature signature = (Signature) buildXMLObject(Signature.DEFAULT_ELEMENT_NAME);
    signature.setSigningCredential(credential);
    signature.setSignatureAlgorithm(signatureAlgorithm);
    signature.setCanonicalizationAlgorithm(Canonicalizer.ALGO_ID_C14N_EXCL_OMIT_COMMENTS);

    try {
        KeyInfo keyInfo = (KeyInfo) buildXMLObject(KeyInfo.DEFAULT_ELEMENT_NAME);
        X509Data data = (X509Data) buildXMLObject(X509Data.DEFAULT_ELEMENT_NAME);
        X509Certificate cert = (X509Certificate) buildXMLObject(X509Certificate.DEFAULT_ELEMENT_NAME);
        String value = org.apache.xml.security.utils.Base64.encode(credential.getEntityCertificate().getEncoded());
        cert.setValue(value);
        data.getX509Certificates().add(cert);
        keyInfo.getX509Datas().add(data);
        signature.setKeyInfo(keyInfo);
        return signature;
    } catch (CertificateEncodingException e) {
        throw new SSOException("Error getting certificate", e);
    }
}
 
开发者ID:wso2-extensions,项目名称:tomcat-extension-samlsso,代码行数:29,代码来源:SSOUtils.java

示例2: createResponse

import org.opensaml.xmlsec.signature.Signature; //导入方法依赖的package包/类
public Element createResponse(String requestId, String issuerId, String message) throws MarshallingException, SignatureException {
    org.opensaml.saml.saml2.core.Response response = factory.createResponse();
    Issuer issuer = factory.createIssuer(issuerId);
    response.setIssuer(issuer);
    response.setInResponseTo(requestId);
    response.setID(idGenerator.getId());

    StatusCode statusCode = factory.createStatusCode();
    statusCode.setValue(StatusCode.REQUESTER);

    Status status = factory.createStatus();
    status.setStatusCode(statusCode);
    response.setStatus(status);

    StatusMessage statusMessage = factory.createStatusMessage();
    statusMessage.setMessage(message);
    status.setStatusMessage(statusMessage);

    Signature signature = factory.createSignature();
    signature.setSigningCredential(credentialFactory.getSigningCredential());
    response.setSignature(signature);

    XMLObjectProviderRegistrySupport.getMarshallerFactory().getMarshaller(response).marshall(response);
    Signer.signObject(response.getSignature());

    return response.getDOM();
}
 
开发者ID:alphagov,项目名称:verify-matching-service-adapter,代码行数:28,代码来源:ExceptionResponseFactory.java

示例3: generateSignedAssertion

import org.opensaml.xmlsec.signature.Signature; //导入方法依赖的package包/类
private Element generateSignedAssertion(String id) throws Exception {
	
	if (this.sigCert == null) {
		throw new Exception("No signature key found");
	}
	
	Assertion assertion = generateAssertion(id);
	
	BasicX509Credential signingCredential = CredentialSupport.getSimpleCredential(this.sigCert, this.sigKey);
	
	Signature signature = (Signature) OpenSAMLUtils.buildSAMLObject(Signature.class);
	
	
	
	
	signature.setSigningCredential(signingCredential);
	signature.setSignatureAlgorithm(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA1);
	signature.setCanonicalizationAlgorithm(SignatureConstants.ALGO_ID_C14N_EXCL_OMIT_COMMENTS);
	
	assertion.setSignature(signature);
	Element e = null;
	try {
           e = XMLObjectProviderRegistrySupport.getMarshallerFactory().getMarshaller(assertion).marshall(assertion);
       } catch (MarshallingException e1) {
           throw new RuntimeException(e1);
       } 
	Signer.signObject(signature); 
	
	
	 
	
	////System.out.println(XMLHelper.nodeToString(e));
	
	AssertionBuilder ab = new AssertionBuilder();
	return e;
	
	////System.out.println(XMLHelper.nodeToString(e));
	
	//return assertion;
	
	
	
	
	
	
	
	
	
	/*
	//BasicCredential sigCred = new BasicCredential();
	//sigCred.setPrivateKey(sigKey);
	//sigCred.setEntityCertificate(this.cert);
	
	//sigCred.setUsageType(UsageType.SIGNING);
	
	KeyInfoBuilder kib = new KeyInfoBuilder();
	KeyInfo ki = kib.buildObject();
	
	
	
	signature.setSigningCredential(cred);
	signature.setSignatureAlgorithm(SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA1);
	signature.setCanonicalizationAlgorithm(SignatureConstants.ALGO_ID_C14N_EXCL_OMIT_COMMENTS);
	signature.setKeyInfo(ki);
	
	assertion.setSignature(signature);
	
	try {
	Configuration.getMarshallerFactory().getMarshaller(assertion).marshall(assertion);
	} catch (MarshallingException e) {
		throw new Exception("Could not generate assertion",e);
	}
	
	try {
	Signer.signObject(signature);
	} catch (SignatureException e) {
		throw new Exception("Could not sign assertion",e);
	}
	return assertion;*/
}
 
开发者ID:TremoloSecurity,项目名称:OpenUnison,代码行数:81,代码来源:Saml2Assertion.java


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