谢桂军 - 博客园 stephenxie.cnblogs.com

谢桂军 - 博客园

站名: 谢桂军 - 博客园

网址: http://stephenxie.cnblogs.com

目录: 电脑网络 > 软件编程

PR:

Alexa: 649

备案号:

服务器IP: 42.121.252.58   浙江省杭州市 阿里云服务器

描述: 谢桂军 - 博客园

查询: [ 网站综合查询 | PR查询 | Alexa排名 | 同IP网站 ]

详细介绍

为将者五要:智,信,仁,勇,严
博客园
首页
新随笔
新文章
联系
订阅
管理
posts - 3,
comments - 12,
trackbacks - 0
2008年4月1日
401.3错误的常见解决方法
在部署web应用程序的时候经常会碰到安全行问题,比如显示:401.3 ACL 禁止访问资源 
通常的解决办法是:

第一,看iis中(不管iis5 还是iis6) ,网站或者目录,包括虚拟目录的属性,看目录安全性选项卡中的编辑匿名访问和身份验证控制,看看是用的哪个帐号,如果是用的iis匿名帐号(一般是IUSR_机器名),或者由系统管理员设置了其他帐号,这个帐号很重要,下面成IIS匿名帐号 察看帐号的密码是否是正确的系统设置的密码,实在不行就在计算机管理里面的用户管理,重新把帐号设置一个密码,然后在编辑匿名访问和身份验证控制选项中把密码重新设置一下。

第二,在资源管理器里面看放置网站或者目录的安全选项。是否IIS匿名帐号有权限访问,一般来说,NT系统中的IUSR_机器名这个帐号都会是在user组里面,有时候禁用了user组,也会引起这个问题,让刚才设置的IIS匿名帐号或者帐号所在的系统组有对目录的访问权限,至少要有读权限。
  第三,在你放置的程序中,看是否含有其他类型的动态语言写的程序,IIS会默认对asp进行解释,对于ASPX来说,要看net执行文件目录是否让IIS匿名帐号有读权限?cgi程序就是perl目录,jsp看是用resin还是用tomcat做的解释,php就是php目录,要保证这些目录都让IIS匿名帐号有读权限才行。
  
posted @ 2008-04-01 09:13 谢桂军 阅读(204) 评论(0) 编辑
在Moss中添加自定义页面

在Moss中添加自定义页面
当你的自定义应用程序加入到Moss当中后,可能会碰到一些安全性的问题。比如执行数据连接的时候没有权限什么的,出现这样的错误提示:请求“System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089”类型的权限已失败。此时可以修改该站点的web.config文件,将Trust的级别改为<trustlevel="WSS_Medium"originUrl=""/> ,提升信任级别。
posted @ 2008-04-01 09:10 谢桂军 阅读(304) 评论(0) 编辑
2008年3月20日
通过代码来申请CA证书
废话就不说太多了啊,说一下在CA搭建好以后如何申请和导出证书的事情啊。
一、区分企业CA和独立CA

企业CA和独立CA的目标不一样,企业CA主要是用在以域为基础局域网内,适合搭建各种企业级别的CA平台,而独立CA主要用于专门的CA颁发机构,具有权威性。两种不同类型的CA决定了他们的安装和使用都有些差别。安装的时候系统会让你选择企业CA还是独立CA。

企业CA在安装的时候默认会安装一些证书模板,以方便CA的管理。而独立CA则没有模板。企业CA可以申请多种类型的证书,比如域身份验证,客户端身份验证,web服务器身份验证,智能卡登陆,无线身份验证等等。而独立CA就比较少了。
那么如何区分你是安装了企业CA还是独立CA呢(如果服务器不是你装的):

1、是否有模板

2、通过web方式申请证书的时候是否提示你填写公司,部门,地区,省,国家等信息
独立CA是可以转化成企业CA的,微软有一篇文章说明如何操作 Windows Server 2003 PKI 操作指南
二、申请数字证书的三种方式(主要针对企业CA)

1、通过web的方式来申请

安装完CA后,系统会自动在IIS的默认站点下创建一个虚拟目录叫Certsrv。这个虚拟目录用来申请证书的申请方式很简单的。
这个目录下面有好多个asp和inc文件,里面的代码就显示了系统如何通过CA的组件编程接口来创建证书申请的,在里面可以看到主要用到了哪些组件以及那些方法。
这很关键,因为通过web的方式申请,效率太低了,我们需要通过自己的程序来申请证书。
CA自带了多个非常有用的证书工具,主要有CertReg.exe ,CertUtil.exe。这两个工具的功能都非常的强大,拥有丰富的参数,可以在命令行模式下查看帮助。
inf文件的制作可以在命令行模式下使用certreq -new -? 看到一些帮助信息,重点查看[NewRequest]部门
req文件 certreq -new <文件名>.inf <文件名>.req
certreq -submit <文件名>.req <文件名>.cer
使用CertUtil -view RequestID号 来查询证书的信息

CertUtil -view 不加参数可以查询所有的证书的信息

小技巧:由于证书的信息太多,在dos模式下无法看全,因此使用dos下的输出重定向符将证书信息全部输出到一个文本文件中,非常适合查阅了。如

certUtil -view > c:\view.txt
3、通过程序调用对象模型来申请

通过程序调用对象模型生成证书是最有用的功能了,因为很多时候我们要提供非常友好的界面给用户申请证书,而不是像IIS那个CertSrv虚拟目录那样子的。另外还可以批量生成证书,然后把证书保存到智能卡当中。对象模型主要是用COM对象,不知道.Net框架里面的对象是否能做到生成证书。 下面是部分代码,可作参考。
const int AT_KEYEXCHANGE = 1 ;
const int CRYPT_EXPORTABLE = 1 ;
const int CR_IN_ENCODEANY = 0xff ;
const int CR_IN_FORMATANY = 0 ;
const int XECR_CMC = 3 ;
{

CERTCLIENTLib.ICertRequest CertRequest = new CERTCLIENTLib.CCertRequestClass();

XENROLLLib.ICEnroll4 CertEnroll = new XENROLLLib.CEnroll2Class();

try

{

string RequestStr ;

int Disposition, ID ;

string dNName = (((((("CN=" + a_sName) + ",O=" + a_sCompany) + ",OU=" + a_sDepartment) + ",L=" + a_sCity) + ",S=" + a_sState) + ",C=" + a_sCountry) + ",E="

猜你喜欢