原文:构建安全的Xml Web Service系列之wse之证书存储位置

我们在前几天对xml web service的安全性提出了一些建议,大家可以通过以下地址访问:

构建安全的Xml Web Service系列之初探使用Soap头

构建安全的Xml Web Service系列之如何察看SoapMessage

构建安全的Xml Web Service系列之SSL篇

我曾经在上面几篇文章中承诺过要写一些有关wse3.0的,可一直没有时间,自身对wse3.0的认识也是非常有限,所以一直没有实现诺言,很是愧疚,今天我就一个小问题作为wse的引子,希望大家继续关注和支持我。

第一次使用windows live writer,难免有排版和疏漏,见谅

今天发生了一件十分郁闷的事情,好多天前我用wse3证书验证方式架设了一个web service,另外又多此一举的加上了SSL,并在本地安装根证书和用于wse验证证书,在本地创建的客户端是一个web application,在vs 2005里面调试一直没有问题,好长时间了,我还以为一切顺利呢,给合作方也写了文档说明,发给了人家,结果今天对方报告说将网站发布在开发机上后,无法访问,错误为在指定存储位置找不到x.509证书,我在本机测试了下,你说郁闷不?在vs2005里面调试中运行的好好的页面,发布到IIS中就有这个问题,我将证书存储在CurrentUser的My下面了,我开始就怀疑network services 不能访问这个存储位置造成这个错误,但是为何在vs2005中调试就没有问题呢?细想,原来在vs2005的虚拟IIS是不是运行在network service账户下的,因为我每次调试,并没有看到w3wp进程启动,network services账户是不能访问当前用户存储下的证书的,这个是一个wse访问证书因为权限问题最常见的问题,而windows应用程序因为运行在当前账户上却可以访问。而network service能够访问本地计算机存储位置下的证书,于是我将证书重新导入到本地计算机-个人,然后将<x509 storeLocation="CurrentUser"更改为<x509 storeLocation="LocalMachine",重新打开网页,程序就可以了。

通过今天这个小小的问题,我总结出三条经验:

1)当我们遇到同样环境下,同一个程序一个能运行,一个不能运行,我们首先可以考虑的是权限的问题,我们程序运行的账户是否有权限访问某个资源。

2)vs2005中虚拟的IIS和IIS存在着些许的差异,不要图一时方便,用这个作为程序正常的标准,最好还是在iis里面调试和运行程序,可以少一些麻烦。

3 )  当您的应用程序为运行在iis的应用程序的时候,如果不采用模拟,您的应用程序是不能访问位于当前用户下的证书的,包括用于SSL的证书,这个问题更典型,如果您在ie中能访问https的页面,在程序中却不能的话,那问题可能就出在这里。ie是运行在当前用户的,所以能访问当前用户下证书,而iis中的程序是运行在network services的,不能访问,您必须将证书存放在本地计算机才可以。

构建安全的Xml Web Service系列之wse之证书存储位置的更多相关文章

  1. 构建安全的Xml Web Service系列之wse之错误代码详解

    原文:构建安全的Xml Web Service系列之wse之错误代码详解 WSE3.0现在还没有中文版的可以下载,使用英文版的过程中,难免会遇到各种各样的错误,而面对一堆毫无头绪的错误异常,常常会感到 ...

  2. 构建安全的Xml Web Service系列之SSL篇

    原文:构建安全的Xml Web Service系列之SSL篇 首先介绍一下SSL, SSL 的英文全称是 "Secure Sockets Layer" ,中文名为 "安全 ...

  3. 构建安全的Xml Web Service系列之初探使用Soap头

    原文:构建安全的Xml Web Service系列之初探使用Soap头 Xml Web Service 从诞生那天就说自己都么都么好,还津津乐道的说internet也会因此而进入一个新纪元,可5年多来 ...

  4. 构建安全的Xml Web Service系列之如何察看SoapMessage

    原文:构建安全的Xml Web Service系列之如何察看SoapMessage 上一篇文章地址:构建安全的Xml Web Service系列一之初探使用Soap头 (5-22 12:53)     ...

  5. C# 开发XML Web Service与Java开发WebService

    一.web service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量 ...

  6. 深入学习Web Service系列----异步开发模式

    概述 在本篇随笔中,通过一些简单的示例来说一下Web Service中的异步调用模式.调用Web Service方法有两种方式,同步调用和异步调用.同步调用是程序继续执行前等候调用的完成,而异步调用在 ...

  7. XML Web Service架构图

  8. Web Service简介 内部资料 请勿转载 谢谢合作

    1.1.Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求, ...

  9. Web Service 的工作原理

    Web Service基本概念 Web Service也叫XML Web Service WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的 ...

随机推荐

  1. java nio-理解同步、异步,阻塞和非阻塞

    理解同步.异步,阻塞和非阻塞 结论:阻塞.非阻塞与是否同步异步无关.     转自知乎 “阻塞”与"非阻塞"与"同步"与“异步"不能简单的从字面理解, ...

  2. GOJ1150(矩阵快速幂)

    sum Time Limit: 1000ms Problem Description: 给定a和n,计算a+aa+aaa+aaaa+...+a...a(n个a) 的和. Input: 测试数据有多组, ...

  3. 二、第一个ExtJS程序:helloExtJS

    开发前的准备 下载并解压ExtJS包后,能够得到下图的文件文件夹结构: 在实际开发过程中并不须要全部的文件和文件夹,所需的包括例如以下文件夹就可以: 若使用eclipse进行开发,仅仅需将上述文件拷贝 ...

  4. C#的百度地图开发(一)发起HTTP请求

    原文:C#的百度地图开发(一)发起HTTP请求 百度地图的开发文档中给出了很多的事例,而当用到具体的语言来开发时,又会有些差异.我是使用C#来开发的.在获取相应的数据时,需要通过URL传值,然后获取相 ...

  5. hibernate得知——Set设置配置

    Set设置配置 创建数据表:表关系的员工有多重身份 create table EMPLOYEE ( id INT NOT NULL auto_increment, first_name VARCHAR ...

  6. windows phone 7 通过麦克风录音,并且播放

    原文:windows phone 7 通过麦克风录音,并且播放 //模拟XNA的框架(凡是在wp7中应用xna的都必须先模拟此类) public class XNAAsyncDispatcher : ...

  7. ubuntu server编译安装nginx

    刚刚安装好了ubuntu server14.04,如今要安装一个webserver,纯静态就用nginx应用程序server吧,性能出众啊. 安装编译环境 我们这里採用源代码编译安装的方式,大家能够看 ...

  8. web service接口测试工具选型

    1  简介 1.1   范围 1.2   目的 本文档用于指导测试部进行接口测试. 2013-03-11磁针石 #承接软件自动化实施与培训等gtalk:ouyangchongwu#gmail.com ...

  9. 运行一个android程序,直接访问某个网站

    package android.com.youtube; import android.app.Activity; import android.content.Intent; import andr ...

  10. javascript - 浏览TOM大叔博客的学习笔记

    part1 ---------------------------------------------------------------------------------------------- ...