LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

asp获取服务器信息大全(包括客户端证书信息)

admin
2011年1月27日 22:32 本文热度 2791

一.服务环境变量

Request.ServerVariables("Url") 
返回服务器地址 

Request.ServerVariables("Path_Info") 
客户端提供的路径信息 

Request.ServerVariables("Appl_Physical_Path") 
与应用程序元数据库路径相应的物理路径 

Request.ServerVariables("Path_Translated") 
通过由虚拟至物理的映射后得到的路径 

Request.ServerVariables("Script_Name") 
执行脚本的名称 

Request.ServerVariables("Query_String") 
查询字符串内容 

Request.ServerVariables("Http_Referer") 
请求的字符串内容 

Request.ServerVariables("Server_Port") 
接受请求的服务器端口号 

Request.ServerVariables("Remote_Addr") 
发出请求的远程主机的IP地址 

Request.ServerVariables("Remote_Host") 
发出请求的远程主机名称 

Request.ServerVariables("Local_Addr") 
返回接受请求的服务器地址 

Request.ServerVariables("Http_Host") 
返回服务器地址 

Request.ServerVariables("Server_Name") 
服务器的主机名、DNS地址或IP地址 

Request.ServerVariables("Request_Method") 
提出请求的方法比如GET、HEAD、POST等等 

Request.ServerVariables("Server_Port_Secure") 
如果接受请求的服务器端口为安全端口时,则为1,否则为0 

Request.ServerVariables("Server_Protocol") 
服务器使用的协议的名称和版本 

Request.ServerVariables("Server_Software") 
应答请求并运行网关的服务器软件的名称和版本 

Request.ServerVariables("All_Http") 
客户端发送的所有HTTP标头,前缀HTTP_ 

Request.ServerVariables("All_Raw") 
客户端发送的所有HTTP标头,其结果和客户端发送时一样,没有前缀HTTP_ 

Request.ServerVariables("Appl_MD_Path") 
应用程序的元数据库路径 

Request.ServerVariables("Content_Length") 
客户端发出内容的长度 

Request.ServerVariables("Https") 
如果请求穿过安全通道(SSL),则返回ON如果请求来自非安全通道,则返回OFF 

Request.ServerVariables("Instance_ID") 
IIS实例的ID号 

Request.ServerVariables("Instance_Meta_Path") 
响应请求的IIS实例的元数据库路径 

Request.ServerVariables("Http_Accept_Encoding") 
返回内容如:gzip,deflate 

Request.ServerVariables("Http_Accept_Language") 
返回内容如:en-us 

Request.ServerVariables("Http_Connection") 
返回内容:Keep-Alive 

Request.ServerVariables("Http_Cookie") 
返回内容如:nVisiT% 

Request.ServerVariables("Http_User_Agent") 
返回内容:Mozilla/4.0(compatible;MSIE6.0;WindowsNT5.1;SV1) 

Request.ServerVariables("Https_Keysize") 
安全套接字层连接关键字的位数,如128 

Request.ServerVariables("Https_Secretkeysize") 
服务器验证私人关键字的位数如1024 

Request.ServerVariables("Https_Server_Issuer") 
服务器证书的发行者字段 

Request.ServerVariables("Https_Server_Subject") 
服务器证书的主题字段 

Request.ServerVariables("Auth_Password") 
当使用基本验证模式时,客户在密码对话框中输入的密码 

Request.ServerVariables("Auth_Type") 
是用户访问受保护的脚本时,服务器用於检验用户的验证方法 

Request.ServerVariables("Auth_User") 
代证的用户名 

Request.ServerVariables("Cert_Cookie") 
唯一的客户证书ID号 

Request.ServerVariables("Cert_Flag") 
客户证书标志,如有客户端证书,则bit0为0如果客户端证书验证无效,bit1被设置为1 

Request.ServerVariables("Cert_Issuer") 
用户证书中的发行者字段 

Request.ServerVariables("Cert_Keysize") 
安全套接字层连接关键字的位数,如128 

Request.ServerVariables("Cert_Secretkeysize") 
服务器验证私人关键字的位数如1024 

Request.ServerVariables("Cert_Serialnumber") 
客户证书的序列号字段 

Request.ServerVariables("Cert_Server_Issuer") 
服务器证书的发行者字段 

Request.ServerVariables("Cert_Server_Subject") 
服务器证书的主题字段 

Request.ServerVariables("Cert_Subject") 
客户端证书的主题字段 

Request.ServerVariables("Content_Type") 
客户发送的form内容或HTTPPUT的数据类型 

--------------------------------------------------------------------------------------

二.ASP获取客户端证书信息

1、环境要求
     服务器端IIS并配置安全站点。
2、读取数字证书(方法一)
数据集合:Request.ClientCertificate(key[SubField])
所有客户证书的信息的集合。对于Key,该集合具有如下的关键字:
Subject      证书持有者的主题,数据格式以英文逗号分隔。(不建议使用)
Issuer      证书的发行颁发者主题,数据格式以英文逗号分隔。(不建议使用)
VadidFrom      证书发行的日期,证书生效日期。
ValidUntil      该证书不再有效的时间。
SerialNumber      证书的序列号。
Certificate      包含整个证书内容的二进制流,使用ASN.1格式。
对于SubField,Subject和Issuer关键字可以具有如下的子域后缀:(比如:SubjectOU或IssuerL)
C      国家。      S      州(或省)。
O      公司或组织名称。      T      个人或公司的标题。
OU      组织单元。      GN      给定名称。
CN      用户的常规名称。      I      初始。
L      地区。           

当文件cervbs.inc(VBScript使用)或cerjavas.inc(Jscript使用)通过使用#i nclude导向包含在你的Active Server Page里时,下面两个标志可以使用:
ceCertPresent      指明客户证书是否存在,其值为TRUE或FALSE。
ceUnrecongnizedIssure      指明在该链表中的最后的证书的发行者是否未知,其值为TRUE或FALSE。
3、读取数字证书(方法二)
数据集合:Request.ServerVaribles(Server Environment Variable)
环境变量的集合,读取HTTP头。可以通过使用HTTP_前缀来读取任何头信息。比如,HTTP_USER_AGENT接受客户代理HTTP头(浏览器类型)。此外,可以使用下表所示的变量获得数字证书相关信息。
CERT_COOKIE      唯一的客户证书ID号。
CERT_FLAG      客户证书标志,如有客户端证书,则bit0为0。如果客户端证书验证无效,bit1被设置为1。
CERT_ISSUER      用户证书中的颁发者字段。
CERT_KEYSIZE      安全套接字层连接关键字的位数,如128。
CERT_SECRETKEYSIZE      服务器验证私人关键字的位数。如1024。
CERT_SERIALNUMBER      客户证书的序列号字段。
CERT_SUBJECT      客户端证书的主题字段。
CERT_SERVER_ISSUER      服务器证书的发行者字段
CERT_SERVER_SUBJECT      服务器证书的主题字段。
HTTPS      如果请求穿过安全通道(SSL),则返回ON。如果请求来自非安全通道,则返回OFF。
HTTPS_KEYSIZE      安全套接字层连接关键字的位数,如128。
HTTPS_SECRETKEYSIZE      服务器验证私人关键字的位数。如1024。
HTTPS_SERVER_ISSUER      服务器证书的发行者字段。
HTTPS_SERVER_SUBJECT      服务器证书的主题字段。

4、补充说明
2中提到的通过Subject和Issuer所获得的相关主题信息在包含中文的情况下是乱码;通过Request.ServerVaribles数据集合获得证书持有者的主题信息和证书颁发机构的主题信息没有任何问题。

asp的代码:

<%

Dim SerialNumber
Dim ValidFrom
Dim ValidUntil
Dim UniqueID
Dim Flags
Dim UserName
SerialNumber =Request.ClientCertificate("SerialNumber")
ValidFrom =Request.ClientCertificate("ValidFrom")
ValidUntil =Request.ClientCertificate("ValidUntil")
UniqueID = Request.ClientCertificate("Certificate")
Flags = Request.ClientCertificate("Flags")
UserName = Request.ClientCertificate("Subject")
//Response.Write "<p>证书用户:"& UserName &"</p>"
Response.Write "<p>证书序列号:"& SerialNumber &"</p>"
Response.Write "<p>有效期起始时间:"& ValidFrom &"</p>"
Response.Write "<p>有效期终止时间:"& ValidUntil &"</p>"
Response.Write "<p>Flags:"& Flags &"</p>"
//Response.BinaryWrite  UniqueID

%>


该文章在 2011/1/27 22:32:31 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved