none
WSE3.0 SOAPheader 加密 RRS feed

  • 问题

  • 这个服务是在WSE3.0下写的,一直调试不过,希望大家给我支持下

    或者谁有关于WSE3.0加密的代码给我个,主要是针对头加密的,谢谢,可以直接发送到我的邮箱airensy@hotmail.com,谢谢大家的帮助了

    public XmlDocument GetXmlDocument()
        {
            // Create a simple XML document to return.
            XmlDocument myDoc = new XmlDocument();
            myDoc.InnerXml =
              "<EncryptedResponse>This is sensitive data.</EncryptedResponse>";

            // Get the SoapContext for the outgoing response message.
            SoapContext myContext = RequestSoapContext.Current;

            // Create a symmetric key for encrypting. Since key is symmetric,
            // this same data must be present on the requesting client.

            // Define the shared 16 byte array representing the 128-bit key
            byte[] keyBytes = {48, 218, 89, 25, 222, 209, 227, 51, 50, 168, 146,
        188, 250, 166, 5, 206};

            // Define the shared 8 byte (64-bit) array for the initial vector (IV).
            byte[] ivBytes = { 16, 143, 111, 77, 233, 137, 12, 72 };

            // Create a new instance of the Triple-DES algorithm.
            SymmetricAlgorithm mySymAlg = new TripleDESCryptoServiceProvider();

            // Set the key and IV values.
            mySymAlg.Key = keyBytes;
            mySymAlg.IV = ivBytes;

            // Create a new WSE symmetric encryption key
            EncryptedKey mykey =new EncryptedKey(myContext.Envelope.Header);
            // Use the symmetric key to create a new EncryptedData element.
            EncryptedData myEncData = new EncryptedData(myContext.Envelope.Header,mykey);

            // Add the EncryptedData element to SOAP response,
            // which tells the filter to encrypt the body with the specified key.
            myContext.Security.Elements.Add(myEncData);
            return myDoc;
        }

    2010年5月17日 14:44

全部回复

  • 我来帮你顶下。

    呵呵

    我记得对于消息头的加密 取决于你消息安全的级别啊。

     

    这个具体的自己能否控制我到没研究过。


    Frank Xu Lei--谦卑若愚,好学若饥
    专注于.NET平台下分布式应用系统开发和企业应用系统集成
    Focus on Distributed Applications Development and EAI based on .NET
     

    老徐的博客

    作      者】:Frank Xu Lei

    网      站】:http://www.frankxulei.com/

    博      客】:http://www.cnblogs.com/frank_xl/

    2010年5月19日 10:45
    版主
  • 请具体说明调试不过的细节,比如服务端无法解密客户端Soap Header ,或者反之.

    看你给出的代码是用了对称密钥,那么你的客户端在加解密Soap Header 时也需要使用下面的 Key 和 IV

    byte[] keyBytes = {48, 218, 89, 25, 222, 209, 227, 51, 50, 168, 146,
        188, 250, 166, 5, 206};

     // Define the shared 8 byte (64-bit) array for the initial vector (IV).
    byte[] ivBytes = { 16, 143, 111, 77, 233, 137, 12, 72 };

    2010年5月20日 1:03