c# - WCF Service doesn't check client certificate CRL chain -
endpoint binding wshttpbinding security mode=message, , clientcredentialtype=certificate.
i set following behavior on server side(set server certificate , validate client certificate):
<behavior name="servicebehaviour"> <servicecredentials> <servicecertificate storelocation="localmachine" storename="my" x509findtype="subjectname" findvalue="cn=myservercertificatename" /> <clientcertificate> <authentication certificatevalidationmode="peertrust" trustedstorelocation="localmachine" revocationmode="online" /> </clientcertificate> </servicecredentials> </behavior>
i set client certificate in following way:
<behavior name="clientendpointcredential"> <clientcredentials> <clientcertificate storename="my" storelocation="localmachine" x509findtype="findbysubjectname" findvalue="myclientcertificatename" /> </clientcredentials> </behavior>
with code server checks client crl , peer trust. check works fine.
the problem when add following code in client credentials:
<servicecertificate> <authentication certificatevalidationmode="peertrust" trustedstorelocation="localmachine" revocationmode="online" /> </servicecertificate> </clientcredentials>
when change clientcredentials.servicecertificate.authentication properties crl chain not checked! crl publish server down , server still receive client messages!
i wanted add code in order make client verify chain of server certificate.
thank in advance.
Comments
Post a Comment