java - 使用 OpenSaml 在 AuthnRequest 的签名中生成 DigestValue 和 SignatureValue
问题描述
我想设置DigestValue
并使用SignatureValue
OpenSaml 。Signature
Authnrequest
最近生成的 authnrequest 是..
<?xml version="1.0" encoding="UTF-8"?>
<samlp:AuthnRequest
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
AssertionConsumerServiceURL="http://idp.com/sso"
Destination="https://idp.com/authenticate"
ForceAuthn="false"
ID="a4df2939df77bfb81a590cb32bb600632746b2a4f3"
IsPassive="false"
IssueInstant="2020-01-01T10:16:25.205Z"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
Version="2.0">
<samlp:Issuer xmlns:samlp="urn:oasis:names:tc:SAML:2.0:assertion">https://sp.com/</samlp:Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<ds:Reference URI="#a4df2939df77bfb81a590cb32bb600632746b2a4f3">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<ds:DigestValue />
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue />
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
MIICnDCCAgWgAwIBAgIBA...
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
<saml2p:NameIDPolicy xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" AllowCreate="true" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" />
</samlp:AuthnRequest>
在上面AuthnRequest
两个节点都是空的(DigestValue
和SignatureValue
)。
那么如何为它们设置值。
还有一个问题是如何
ds:
从Signature
.
谢谢..
解决方案
推荐阅读
- spring - DefaultMessageListenerContainer 停止处理消息
- delphi - 赋值语句中的编译时错误
- docker - Kubernetes pod 无法访问在另一个节点上运行的服务
- sql - 通过给定参数插入表及其列的过程?
- amazon-redshift - Redshift Cross join忽略where子句
- xslt - XSLT 1.0 帮助条件循环
- .net-core - .Net Core 的 DotNetOpenAuth 功能
- r - 基于整数值查找表
- azure - 应用 udr 时,Azure 应用程序网关门户概述页面上没有统计数据
- assembly - 汇编语言大加法、乘法和除法