我们有一个业务合作伙伴,他要求我们使用SAML 2.0断言创建服务请求消息.合作伙伴为其JAVA Web服务提供了两个证书和一个测试工具.
我创建了一个WCF客户端,CustomBinding尝试重新创建请求并使用服务,但我对WCF的细微差别感到非常沮丧(并且缺乏对SAML 2.0的内在支持)我想知道我是否更好关闭使用类似的东西WebClient或HttpWebRequest加密/构建和签署XML Web请求并对响应执行相同操作.我知道这方面有很多工作,但至少我完全可以控制.
非常感谢您的建议,我正在使用的内容如下所示
注意:我为Java服务提供了SoapUI测试工具
供应商向我提供了此请求(通过SOAPUI运行并通过Fiddler提取)
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
<SOAP-ENV:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
<wsse:Security SOAP-ENV:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<xenc:EncryptedKey Id="EncKeyId-29B98C291D1FDFB39113352984774895">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5"/>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<wsse:SecurityTokenReference>
<ds:X509Data>
<ds:X509IssuerSerial>
<ds:X509IssuerName>CN=test_server</ds:X509IssuerName>
<ds:X509SerialNumber>12356789</ds:X509SerialNumber>
</ds:X509IssuerSerial>
</ds:X509Data>
</wsse:SecurityTokenReference>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>
<!--Omitted -->
</xenc:CipherValue>
</xenc:CipherData>
<xenc:ReferenceList>
<xenc:DataReference URI="#EncDataId-3"/>
</xenc:ReferenceList>
</xenc:EncryptedKey>
<wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="CertId-29B98C291D1FDFB39113352984773591" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><!--Omitted --></wsse:BinarySecurityToken>
<ds:Signature Id="Signature-1" 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="#id-2">
<ds:Transforms>
<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>
<!--Omitted -->
</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
<!--Omitted --> …Run Code Online (Sandbox Code Playgroud) gdi32.dll在发布Azure Web App之后,尝试对C#中的函数进行一些基本调用,而且我遇到了很多问题.是完全支持还是我可以进行变通/配置更改?
在标准设置的Visual Studio中运行时,下面的指针都返回非零值,但在Azure中运行时它们返回0.
创建了一个基本的ASP.NET Web Forms项目,并添加了Default.aspx对测试的代码隐藏的打击:
[DllImport("gdi32.dll")]
private static extern IntPtr CreatePen(int enPenStyle, int nWidth, uint crColor);
[DllImport("gdi32.dll")]
private static extern IntPtr SelectObject(IntPtr hdc, IntPtr hgdiobj);
[DllImport("gdi32.dll")]
private static extern bool MoveToEx(IntPtr hdc, int X, int Y, IntPtr lpPoint);
[DllImport("gdi32.dll")]
private static extern bool LineTo(IntPtr hdc, int nXEnd, int nYEnd);
[DllImport("gdi32.dll")]
private static extern bool DeleteObject([In] IntPtr hObject);
protected void Page_Load(object sender, EventArgs e)
{
using (Bitmap bitmap = new Bitmap(100, 100))
{
using (Graphics …Run Code Online (Sandbox Code Playgroud) 我目前正在建立一个商用SFTP服务器,我只是在寻找你对我正在考虑实施的设置的一些看法,以及关于什么商业安全FTP服务器软件最好的建议适合.请记住,我负责的数据非常敏感,因此非常感谢任何评论/反馈.
这是场景:
1)在文件上传之前,使用带有盐的AES 256压缩和加密文件.
2)通过SFTP(端口22)从客户端服务器上传到SFTP服务器的文件.
3)我们的其他客户端使用一次性密码验证(强10字母数字密码)通过HTTPS下载文件
我正在考虑的实施细节是:
对于上面的部分(2),使用主机密钥匹配,公钥认证和用户名/密码组合打开连接.双方的防火墙仅限于允许客户端服务器的静态IP连接.
对于部分(3),向每个客户端提供基于每个用户的用户名/密码(用于审计)以登录到他们在服务器上的被监禁帐户.文件本身的加密密码是基于每个文件提供的,所以我试图在这里始终应用两种加密模式(除非文件在服务器上休息).
除了双方的专用防火墙外,SFTP服务器上的访问控制还将配置为在短时间内阻止一定次数的失败尝试的IP地址,无效的密码尝试将锁定用户,密码策略将被实施等.
我想我已经尽可能地覆盖了,但我很想听听你们对这个实现的看法?
对于商业服务器方面,我已将其缩小到GloalSCAPE SFTP w/SSH和HTTP模块或JSCAPE安全FTP服务器 - 我将评估每个周末的适用性,但如果你们有任何经验要么我也喜欢听到它.