Welcome to MSDN Blogs Sign in | Join | Help

Syndication

Tags

    No tags have been created or used yet.
.Net在Alibaba的AEP平台上的应用

 

Alibaba的AEP平台(Alisoft E-Comercial Platform)是Alisoft开发的一个开放式的SaaS Hoster Platform,可以在其上面部署面向中小企业的基于.net或者Java的应用。

AEP平台,是一个SaaS的Hoster平台,提供对第三方的ISV的应用的接入,供ISV访问在Taobao.com上的所有的可访问资源。

其中,用户访问权限的管理,是其中的一难点,因为以.Net为例,ISV提供的应用,可能是基于WSE、Windows LiveID、或者是ASP.Net等不同的实现方式。

在这个问题上,在微软亚洲工程院同事的协助下,经过几个月的反复调试,我们终于找到一个可以让WCF与阿里软件服务接口的方案。非常ATC、阿里软件各方的耐心与配合。

现总结一下所做的改动:

1) 因Alisoft不希望message加密,只需签名,我们需要在客户端程序里设置:

ServiceReference1.AppConsumeServicePortTypeClient c =

new ServiceReference1.AppConsumeServicePortTypeClient("Soap11CustomBindingPort");

// Programmically set ProtectionLevel to allow message signing only, without encrypting.

c.Endpoint.Contract.ProtectionLevel = System.Net.Security.ProtectionLevel.Sign;

2) Alisoft用的是自己issue的V1证书,所以不支持SubjectKeyIndentifier extension.  所以在Axis2的OutflowSecurity配置中要用IssuerSerial来做signatureKeyIdentifier.

3) WCF要求Security Header一定要有签名。所以Axis2的OutflowSecurity配置中要把Timestamp加入到signatureParts设置中。这样又必须把items的设置顺序换一下,变成”Timestamp Signature”,使得Axis会先把Timestamp加入security header,再对它签名。对这个改动最初有点担心对其它java客户端的影响。但测试后看来不会有问题。

4) 最后在WCF端,用了customBinding 来完成接口。这个customBinding相当于basicHttpBinding加Message Security,但最主要的是securityHeaderLayout的配置必须改成Lax来支持Timestamp在Signature block之后出现的情况。

Published Thursday, March 13, 2008 1:26 PM by HongyuCui

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# Basketball Chat » Blog Archive » .Net???Alibaba???AEP?????????????????? @ Monday, April 21, 2008 5:53 AM

PingBack from http://www.basketballs-sports.info/basketball-chat/?p=1022

Basketball Chat » Blog Archive » .Net???Alibaba???AEP??????????????????

Leave a Comment

(required) 
required 
(required) 

  
Enter Code Here: Required
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement  
Page view tracker