博文

Windows下安装OpenSSL及其使用(2009-09-19 16:56:00)

摘要:1. 下载最新版本的Perl,安装后重启系统。 http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.8.822-MSWin32-x86-280952.zip 2.下载 latest openssl并解压到C:\openssl-0.9.8k。 http://www.openssl.org/source/ 参考openssl目录下的install.win32说明进行安装: 1、进入解压目录。 >cd C:\openssl-0.9.8k 2、运行Configure。 >perl Configure VC-WIN32 如不成功会有明显提示。 3、创建Makefile文件。 >ms\do_ms 推荐使用这种方式,另外两种方式 如果使用也必须保证本机有编译器才能使用。 :ms\do_masm (默认vc 自带的编译器;也也以自己下载安装) :ms\do_nasm (需要自己下载) 4、配置VC环境变量。 >cd C:\Program Files\Microsoft Visual Studio\VC98\Bin   >vcvars32.bat 5、编译动态链接库。 >cd C:\openssl-0.9.8k >nmake -f ms\ntdll.mak 如果编译成功,最后的输出都在out32dll目录下:包括可执行文件、两个dll(ssleay32.lib, libeay32.lib)和两个lib文件(ssleay32.dll, libeay32.dll)。 6、为VC添加头文件和静态链接库路径。 ToolsàOptionsàDirectores,在Include files中增加C:\openssl-0.9.8k \inc32目录;在Libray files中增加C:\openssl-0.9.8k\out32dll。 7、编写OpenSSL程序,可参考C:\openssl-0.9.8k\demos (1)包含相应头文件 #include <openssl/***.h> (2) 添加静态链接库 #pragma comment(lib, "libeay32.lib"......

阅读全文(31322) | 评论:2

按钮添加ToolTip(2009-08-19 21:25:00)

摘要:一.首先创建基于对话框的MFC工程TipBtn,添加成员变量UINT m_nBtnID和CRect m_rcBtn,拖放按钮IDC_BUTTON_ADD到对话框中。本例程动态创建含有提示的按钮。 二. 为对话框添加ToolTip支持,在CTipBtnDlg的头文件中定义CtoolTipCtrl型控件变量 m_tooltip。 // TipBtnDlg.h class CTipBtnDlg : public Cdialog { // …… // Implementation public:     UINT m_nBtnID = WM_USER + 101; // 按钮ID CRect m_rcBtn = CRect(10, 40, 10 + 40, 40 + 30); // 按钮的大小和位置 protected:     CToolTipCtrl m_tooltip; // …… } 三.在CTipBtnDlg的OnInitDialog函数中创建ToolTipCtrl并激活。 (1)BOOL CToolTipCtrl::Create( CWnd* pParentWnd, DWORD dwStyle = 0 ); 参数: pParentWnd 指定工具提示控件的父窗口,通常是一个CDialog。它不能是NULL。 dwStyle 指定工具提示控件的风格,可以是任意Windows风格的组合。 若|TTS_ALWAYSTIP则不管工具栏所属窗口是否被激活,提示都会出现。 (2)void CToolTipCtrl::Activate( BOOL bActivate ); 若bActivate=TRUE,即工具提示控件被激活,当光标路过一个向提示控件注册过的工具上时就会显示提示信息; 若bActivate=FALSE,即工具提示控件未被激活,则不会显示工具提示信息,即使是光标路过一个工具上。 // TipBtnDlg.cpp BOOL CTipBtnDlg::OnInitDialog() { // ……     m_tooltip.Create(this);  // 创建Tool......

阅读全文(6525) | 评论:0

基于DirectoryServices的IIS虚拟目录管理(5)(2009-07-25 20:04:00)

摘要:三。测试IIS虚拟目录管理服务 // Default.aspx.cs using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls;   // 自定义虚拟目录管理服务 using VirtualDirectoryServices;   public partial class _Default : System.Web.UI.Page {     protected void Page_Load(object sender, EventArgs e)     {         // Response.Write("测试IIS指向另一台机器的虚拟目录");     }       protected void Button1_Click1(object sender, EventArgs e)     {         // (1) 从VirDirTypeList获取虚拟目录类型         string strSchemaType = VirDirTypeList.SelectedValue;                    IISVir......

阅读全文(4951) | 评论:0

基于DirectoryServices的IIS虚拟目录管理(4)(2009-07-25 17:07:00)

摘要:        /// <summary>         /// 删除Web|Ftp虚拟目录         /// </summary>         /// <param name = "strVirDirName">         /// 欲删除虚拟目录的名称。         /// </param>         /// <returns>         /// 无返回值。<br/>         /// 如果欲删除的虚拟目录不存在,则抛出异常。注意在调用处捕获该异常。         /// </returns>         public void DeleteVirDir(string strVirDirName)         {             if(Exists(strVirDirName))             {     &......

阅读全文(2730) | 评论:0

基于DirectoryServices的IIS虚拟目录管理(3)(2009-07-25 17:03:00)

摘要:二。IIS虚拟目录管理类     /// <summary>     /// IIS虚拟目录管理类     /// </summary>     public class IISVirDirManager     {         // 操作IIS时,Path的格式为IIS://ServerName(IP)/ServiceType/SiteID/Directory           private string KeyType; // 虚拟目录类型,IIsWebVirtualDir或IIsFtpVirtualDir         private string SiteID; // 站点标识符           private string RootPath; // IIS Web|Ftp默认站点根目录         private DirectoryEntry RootDE; // IIS Web|Ftp默认站点            /// <summary>         /// 连接IIS服务器,获取Web|Ftp默认站点根目录入口         /// </summary>         private void ConnectToServer(......

阅读全文(2467) | 评论:0

基于DirectoryServices的IIS虚拟目录管理(2)(2009-07-25 17:00:00)

摘要:        /// <value>         /// UNC账户名称属性<br/>         /// 当虚拟目录指向另一台计算机上的共享时,必须设置UNC账户。         /// </value>         public string UNCUsername         {             get { return _UNCUsername; }             set { _UNCUsername = value; }         }           /// <value>         /// UNC账户密码属性<br/>         /// 当虚拟目录指向另一台计算机上的共享时,必须设置UNC账户。         /// </value>         public string UNCPassword    &nb......

阅读全文(2683) | 评论:0

基于DirectoryServices的IIS虚拟目录管理(1)(2009-07-25 16:57:00)

摘要:一。IIS属性集VirtualDirectory类 using System; using System.DirectoryServices; // 添加DirectorysServices引用!   /// <summary> /// 自定义基于DirectoryServices的IIS虚拟目录管理服务, /// 支持创建、更新、删除Web和Ftp虚拟目录。 /// </summary> namespace VirtualDirectoryServices {     /// <summary>     /// IIS属性类     /// </summary>     public class VirtualDirectory     {                       private string _Name;         private string _Path;         private string _AppFriendlyName;           private string _UNCUsername;         private string _UNCPassword;           private bool _AccessRead;      &nb......

阅读全文(2218) | 评论:0

DirectoryEntry.Properties遍历IIS属性(2)(2009-07-22 22:38:00)

摘要:三.IIS属性解析 KeyType[0] =IisWebVirtualDir  // Schema类名表明操作的目录类型 // 【虚拟目录】 Path[0] =D:\WebSiteTest  // 虚拟目录|本地路径 // .NET对应属性如下,其中de为虚拟目录对应的DirectoryEntry对象 de.Properties["Path"][0] = 路径字符串   AccessFlags[0] =513  // 虚拟目录|读取-写入 // 1. 虚拟目录|应用程序设置|执行权限为“无”时 // (1)脚本资源访问 // 不可读取且不可写入为16;可读取不可写入为17; // 可写入不可读取为18;可读取且可写入为19 // (2)无脚本资源访问 // 不可读取且不可写入为0;可读取不可写入为1; // 可写入不可读取为2;可读取且可写入为3 // 2. 虚拟目录|应用程序设置|执行权限为“纯脚本”时 // (1)脚本资源访问 // 不可读取且不可写入为528;可读取不可写入为529; // 可写入不可读取为530;可读取且可写入为531 // (2)无脚本资源访问 // 不可读取且不可写入为512;可读取不可写入为513; // 可写入不可读取为514;可读取且可写入为515 // 3. 虚拟目录|应用程序设置|执行权限为“脚本和可执行文件”时 // (1)脚本资源访问 // 不可读取且不可写入为532;可读取不可写入为533; // 可写入不可读取为534;可读取且可写入为535 // (2)无脚本资源访问 // 不可读取且不可写入为516;可读取不可写入为517; // 可写入不可读取为518;可读取且可写入为519 // .NET对应属性如下,其中de为虚拟目录对应的DirectoryEntry对象 de.Properties["AccessRead"][0] = bool值; // 读取 de.Properties["AccessWrite"][0] = bool值; // 写入 de.Properties["AccessScript"][0] = bool值; // 脚本资源访问 de.Properties["AccessExecute"][0]......

阅读全文(7220) | 评论:2

DirectoryEntry.Properties遍历IIS属性(1)(2009-07-19 19:59:00)

摘要:一.平台:Windows XP SP3+ IIS 5.1 + Visual Studio 2005 .NET框架下,System.DirectoryServices命名空间中的DirectoryEntry提供了活动目录组件管理功能,它调用ADSI操作IIS。 二.DirectoryEntry.Properties遍历IIS Web虚拟目录和Ftp虚拟目录属性 using System; using System.Collections.Generic; using System.Text; using System.DirectoryServices;   namespace IISVirDirProperties {     class Program     {         static void Main(string[] args)         {             try             {                 Console.WriteLine("请输入欲查询的虚拟目录类型:");                 Console.WriteLine("0代表IIS Web虚拟目录");                 Co......

阅读全文(5817) | 评论:0

同步IWAM和IUSR账户解决HTTP-500错误(2009-07-19 13:52:00)

摘要:装了IIS服务组件后,系统就会生成ISUR和IWAM这两个帐户。 (1)IUSER是Internet 来宾帐户,匿名访问 Internet 信息服务的内置帐户 (2)IWAM是启动 IIS 进程帐户,用于启动进程外应用程序的 Internet 信息服务的内置帐户 IUSR_ComputerName和IWAM_ComputerName帐号保存在三个位置: 1、User Manager for Domains (Windows NT) or Local Users and Groups (Windows XP),系统的SAM文件中。 2、Microsoft Transaction Server (Windows NT) or Component Services (Windows XP) ,系统的SAM文件中。 3、Internet Information Server (IIS) 的METADATA数据文件中。 如果三个位置的用户名和密码不能同步,就会出现错误,造成asp文件不能访问,出现HTTP错误,例如HTTP-500内部服务器错误。 在 Windows NT 4.0 中尝试获取密码时,密码显示为明文;但在 Windows XP 中,密码显示为星号。若要在 Windows XP中也让密码显示为明文,必须修改 Adsutil.vbs,使它显示明码。为此,打开C:\Inetpub\AdminScripts\adsutil.vbs,找到631行: 631    If (IsSecureProperty(ObjectParameter,MachineName) = True) Then 将True修改为False。 命令行修改脚本文件AdminScripts|adsutil.vbs需要调用csript.exe,获取或设置IIS密码的命令是cscript.exe adsutil.vbs get/set xxxxxx 在CMD下运行如下命令 C:\Documents and Settings\Administrator>cd /d c:\Inetpub\Adminscripts // (1)获取IWAM和IUSR账户密码 // 获取 IWAM 帐户密码 C:\Inetpub\AdminScripts>c......

阅读全文(5821) | 评论:2