我能够使用以下代码为SSO生成元数据:
string path = HttpContext.Current.Server.MapPath("~/Certificates/test.cer");
XmlDocument doc = new XmlDocument();
EntityDescriptor spEntityDescriptor = CreateSPEntityDescriptor(HttpContext.Current.Server.MapPath(spCertificateFileName), spData);
XmlElement xmlElement = spEntityDescriptor.ToXml();
X509Certificate2 x509Certificate = new X509Certificate2(HttpContext.Current.Server.MapPath("~/Certificates/SPHasmukh.pfx"), "123456");
string private_key = x509Certificate.PrivateKey.ToXmlString(false);
SAMLMetadataSignature.Generate(xmlElement, x509Certificate.PrivateKey, x509Certificate);
在这种情况下,我的证书文件下面有静态文件: Ha test.cer
但是我想使用用户输入生成元数据: 在我输入为: ACS网址 身份证明, SLO网址, 私钥(字符串格式) 证书(字符串格式) 使用这个细节,我想为sso生成元数据。
下面是我的代码的一些代码片段。 请检查所附的用户输入表格的屏幕截图。
代码:
var certificateObj=@"[Certificate Text]";
var PrivateKeyObj=@"[Private Key Text]"
X509Certificate2 x509Certificate = new X509Certificate2(certificateObj);
string private_key = x509Certificate.PrivateKey.ToXmlString(false);
SAMLMetadataSignature.Generate(xmlElement,PrivateKeyObj, x509Certificate);
我有certificateObj和PrivateKeyObj作为字符串,我想这样使用。 但是它给了我类似“无法生成签名”的错误。
请帮助我。
我想使用公共空间创建以下链接之类的工具: https://developers.onelogin.com/saml/online-tools/build-metadata/sp