home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2000 March / VPR0003B.ISO / alpha / ceenroll.asp < prev    next >
Text File  |  1999-10-14  |  12KB  |  390 lines

  1. <%Response.Expires=0%>
  2. <HTML>
  3. <HEAD>
  4. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=x-sjis">
  5. <TITLE>Certificate Server 登録フォーム</TITLE>
  6. <META HTTP-EQUIV="Cache-Control" CONTENT="no cache">
  7. <META HTTP-EQUIV="Pragma" CONTENT="no cache">
  8. <META HTTP-EQUIV="Expires" CONTENT="0">
  9.  
  10. <%  Set BrowserCap = Server.CreateObject("MSWC.BrowserType") 
  11.  
  12.     Dim ControlType, BrowserType, BrowserVersion
  13.  
  14.     ControlType = ""
  15.     BrowserType = "" 
  16.     BrowserVersion = 0
  17.       
  18.     if Request.Form("sBrowser") = "" then 
  19.     BrowserType = UCase(BrowserCap.browser)
  20.     BrowserVersion = BrowserCap.version        
  21.     else
  22.     if Request.Form("sBrowser") = "IE4" then
  23.          BrowserType = "IE"
  24.          BrowserVersion = 4
  25.         elseif Request.Form("sBrowser") = "IE3" then
  26.          BrowserType = "IE"
  27.          BrowserVersion = 3
  28.         elseif Request.Form("sBrowser") = "NETSCAPE" then
  29.          BrowserType = "NETSCAPE"
  30.          BrowserVersion = 1
  31.         end if
  32.     end if
  33.  
  34.     If BrowserType = "" or BrowserVersion = 0 then
  35.           BrowserType = ""
  36.           BrowserVersion = 0
  37.           ControlType = "UNKNOWN"
  38.     end if  
  39. %>
  40.  
  41. <% if (BrowserType = "IE") and _
  42.       ((BrowserVersion > 3.02) or (BrowserVersion = 3.02 and _
  43.       Instr(UCase(Request.ServerVariables("HTTP_USER_AGENT")), "UPDATE") > 0)) then 
  44.  
  45.       ControlType = "XENROLL" %>
  46.       
  47.       <OBJECT
  48.         classid="clsid:43F8F289-7A20-11D0-8F06-00C04FC295E1"
  49.         CODEBASE="/CertControl/xenroll.cab#Version=5,131,1877,1"       
  50.         id=IControl
  51.         >
  52.       </OBJECT>
  53.   
  54.  
  55. <% elseif UCase(BrowserType) = "IE" and _
  56.            BrowserVersion >= 3 and _
  57.            Instr(UCase(Request.ServerVariables("HTTP_UA_CPU")), "ALPHA") = 0 then 
  58.     
  59.       ControlType = "CERTENR3" %>
  60.       
  61.       <OBJECT
  62.         classid="clsid:33BEC9E0-F78F-11cf-B782-00C04FD7BF43"
  63.         CODEBASE="/CertControl/x86/certenr3.dll#Version=4,70,1143"
  64.         id=IControl
  65.       >
  66.       </OBJECT>
  67.   
  68. <% elseif UCase(BrowserType) = "NETSCAPE" then
  69.  
  70.      ControlType = "NETSCAPE" %>
  71.  
  72. <% end if %>
  73.  
  74.  
  75.  
  76. <% if ControlType <> "NETSCAPE" and ControlType <> "" then %> 
  77.  
  78. <SCRIPT LANGUAGE="JAVASCRIPT">
  79.    function geterror(message, url, value) {
  80.  
  81.      if (message == "メモリ不足") {
  82.        msg = "Xenroll は PKCS #10 を生成できませんでした。\n\n";
  83.        msg = msg + "指定した設定を CSP がサポートしていることと、\n";
  84.        msg = msg + "正しい入力を行ったことを確認してください。"; 
  85.        
  86.        alert(msg);
  87.        
  88.        return true;
  89.      }
  90.      else 
  91.        return false;
  92.   }
  93. </SCRIPT>
  94.  
  95.  <SCRIPT LANGUAGE="JAVASCRIPT">
  96.    function SubmitRequest() {
  97.   
  98.     CommonName = document.ReqForm.CommonName.value;
  99.     OrgUnit = document.ReqForm.OrgUnit.value;
  100.     Org = document.ReqForm.Org.value;
  101.     Locality = document.ReqForm.Locality.value;
  102.     State = document.ReqForm.State.value;
  103.     Country = document.ReqForm.Country.value;
  104.  
  105.     szPKCS10 = "";
  106.  
  107.     DN = "";
  108.     DN = DN + "C=" + Country + ";";
  109.     DN = DN + "S=" + State + ";";
  110.     DN = DN + "L=" + Locality + ";";
  111.     DN = DN + "O=" + Org + ";";
  112.     DN = DN + "OU=" + OrgUnit + ";";
  113.     DN = DN + "CN=" + CommonName + ";";
  114.     
  115.   <% if ControlType <> "CERTENR3" then %>
  116.     Email= document.ReqForm.Email.value;
  117.     DN = DN + "Email=" + Email + ";";
  118.   <% end if %>
  119.      
  120.   <% if ControlType = "XENROLL" then %>
  121.   
  122.     onerror=geterror; 
  123.    
  124.     <% if Request.Form("CertUsage") = "" then %>
  125.         IControl.KeySpec = 1;
  126.         document.ReqData.CertUsage.value = "1.3.6.1.5.5.7.3.2";
  127.     <% else %>
  128.         
  129.       if ("<%=Request.Form("ContainerName")%>" != "") 
  130.         IControl.ContainerName = "<%=Request.Form("ContainerName")%>";
  131.  
  132.       if ("<%=Request.Form("ProviderName")%>" != "") {
  133.          IControl.ProviderName = "<%=Request.Form("ProviderName")%>";
  134.          IControl.ProviderType =  <%=Request.Form("ProviderType")%>;
  135.        }
  136.  
  137.       if ("<%=Request.Form("HashAlgorithm")%>" != "")  
  138.          IControl.HashAlgorithm = "<%=Request.Form("HashAlgorithm")%>"
  139.     
  140.       IControl.GenKeyFlags = <%=Request.Form("GenKeyFlag")%>;
  141.       if ("<%=Request.Form("ExportKeys")%>" != "")  
  142.          IControl.PVKFileName = "<%=Request.Form("ExportKeys")%>";
  143.        
  144.       document.ReqData.CertUsage.value = "<%=Request.Form("CertUsage")%>";      
  145.       document.ReqData.WriteCertToCSP.value = "<%=Request.Form("WriteCertToCSP")%>";
  146.       document.ReqData.SaveCert.value = "<%=Request.Form("SaveCert")%>";
  147.       IControl.KeySpec = <%=Request.Form("KeySpec")%>;
  148.       IControl.UseExistingKeySet = <%=Request.Form("UseExistingKeySet")%>;   
  149.           
  150.     <% end if %>
  151.  
  152.       szPKCS10 = IControl.CreatePKCS10(DN, document.ReqData.CertUsage.value);
  153.       document.ReqData.CertRequest.value = szPKCS10;
  154.  
  155.   <% elseif ControlType = "CERTENR3" then %>
  156.          
  157.      szSessionID=<%=Session.SessionID%>
  158.      szPKCS10 = IControl.GenerateKeyPair(szSessionID, false, DN, 0, "ClientAuth", false, true, 1);
  159.      document.ReqData.CertRequest.value = szPKCS10;
  160.      document.ReqData.PassThru.value = szSessionID;      
  161.  
  162.   <% end if %>
  163.   
  164.      if (szPKCS10.length > 10)
  165.        document.ReqData.submit();
  166.      else {
  167.        Msg = "入力したデータが正しくない可能性があります。";
  168.        alert(Msg);
  169.        window.navigate ("/certsrv/default.htm")
  170.      }
  171.    }   
  172.    </SCRIPT> 
  173. <% end if %>
  174.  
  175.  
  176. <% if ControlType = "XENROLL" then %>
  177.        
  178.      <SCRIPT LANGUAGE="VBSCRIPT"> 
  179.        function Adv()
  180.            
  181.          Dim CspList, CspCount, cspIndex, ProviderName
  182.          On Error Resume Next
  183.          
  184.          CspList = ""
  185.          NumOfCsps = 0
  186.          StrSize = 0
  187.          ProviderName = ""
  188.          
  189.          For ProvType = 0 to 1  
  190.            cspIndex = 0
  191.            'ProviderName = ""             
  192.            IControl.ProviderType = ProvType
  193.            ProviderName = IControl.enumProviders(cspIndex,0)
  194.         
  195.        while ProviderName <> ""          
  196.               CspList = CspList & ProvType & "*" & ProviderName & "*"
  197.               cspIndex = cspIndex +1
  198.               ProviderName = ""
  199.               ProviderName = IControl.enumProviders(cspIndex,0)
  200.                     
  201.            wend
  202.            CspCount = (CspCount +1) + (cspIndex-1) 
  203.          Next
  204.          
  205.          document.CSPFORM.CspList.value = CspList
  206.          document.CSPFORM.CspCount.value = CspCount
  207.  
  208.          document.CSPFORM.CommonName.value = document.ReqForm.CommonName.value
  209.          document.CSPFORM.Org.value = document.ReqForm.Org.value
  210.          document.CSPFORM.OrgUnit.value = document.ReqForm.OrgUnit.value
  211.          document.CSPFORM.Locality.value = document.ReqForm.Locality.value
  212.          document.CSPFORM.State.value = document.ReqForm.State.value
  213.          document.CSPFORM.Country.value = document.ReqForm.Country.value
  214.          document.CSPFORM.Email.value = document.ReqForm.Email.value
  215.      document.CSPFORM.Browser.value = <%=BrowserVersion%>
  216.      
  217.          if CspCount = 0 then
  218.         msg = "登録コントロールをコンピュータにダウンロードできませんでした。"
  219.         msg = msg & "このページを正しく表示するには、コントロールが"
  220.          msg = msg & "必要です。"
  221.         
  222.                 Button = MsgBox (msg, 21, "Xenroll")
  223.                 
  224.                 if Button = vbRetry then
  225.          window.navigate ("ceenroll.asp")
  226.         else
  227.          window.navigate ("/certsrv/default.htm")
  228.                 end if
  229.          else
  230.       document.CSPFORM.submit() 
  231.     end if
  232.        
  233.        end function
  234.        </SCRIPT>
  235. <% End If %>
  236.  
  237. </HEAD>
  238.  
  239.  <BODY Background="csback.gif">
  240.  <BODY BGCOLOR=#FFFFFF>
  241.  <B><A HREF="/CertSrv/default.htm">ホーム</A></B>
  242.  <HR>
  243.  <IMG SRC="cslogo.gif" alt="製品のロゴ"> 
  244.  
  245.  
  246.  <% if ControlType = "NETSCAPE" or _
  247.       ControlType = "CERTENR3" or _
  248.       ControlType = "XENROLL" then %>
  249.  
  250.  <CENTER> 
  251.  
  252.  <FONT SIZE=6><B>証明書登録フォーム</B></FONT>
  253.  
  254.  <% if ControlType = "NETSCAPE" then %>
  255.   <FORM NAME="CertForm" ACTION="kgaccept.asp" ENCTYPE=x-www-form-encoded METHOD=POST>
  256.  <% else %>
  257.   <FORM NAME="ReqForm" ENCTYPE=x-www-form-encoded METHOD=POST>
  258.  <% end if%>
  259.  
  260.    <TABLE BORDER=8>
  261.    <TR>
  262.    <TH ALIGN=LEFT><B>名前:</B></TH>    
  263.    <TD><INPUT TYPE="TEXT" MAXLENGTH="64" SIZE=42 NAME="CommonName" VALUE= "<%=Request.Form("CommonName")%>"></TD>
  264.    <TR>
  265.    <TH ALIGN=LEFT><B>部門:</B></TH>        
  266.    <TD><INPUT TYPE="TEXT" MAXLENGTH="64" SIZE=42 NAME="OrgUnit" VALUE= "<%=Request.Form("OrgUnit")%>"></TD>
  267.    <TR>
  268.    <TH ALIGN=LEFT><B>組織:</B></TH>    
  269.    <TD><INPUT TYPE="TEXT" MAXLENGTH="64" SIZE=42 NAME="Org" VALUE= "<%=Request.Form("Org")%>"></TD>
  270.    <TR>
  271.    <TH ALIGN=LEFT><B>市区町村:</B></TD>        
  272.    <TD><INPUT TYPE="TEXT" MAXLENGTH="64" SIZE=42 NAME="Locality" VALUE= "<%=Request.Form("Locality")%>"></TD>
  273.    <TR>
  274.    <TH ALIGN=LEFT <B>都道府県:</B></TH>    
  275.    <TD><INPUT TYPE="TEXT" MAXLENGTH="64" SIZE=42 NAME="State" VALUE= "<%=Request.Form("State")%>"></TD>
  276.    <TR>
  277.    <TH ALIGN=LEFT <B>国:</B></TH>        
  278.    <TD><INPUT TYPE="TEXT" MAXLENGTH="2" SIZE=42 NAME="Country" VALUE= "<%=Request.Form("Country")%>"></TD> 
  279.    <TR>
  280.    <TH ALIGN=LEFT <B>電子メール:</B></TH>
  281.    <TD><INPUT TYPE="TEXT" MAXLENGTH="64" SIZE=42 NAME="Email" VALUE= "<%=Request.Form("Email")%>"></TD>
  282.     
  283.   <%if ControlType = "NETSCAPE" then %>
  284.      <TR>
  285.         <TH ALIGN=LEFT <B>キーの強度:</B></TH>    
  286.         <TD><KEYGEN TYPE="hidden" NAME="CertRequest" CHALLENGE="test"></TD>
  287.         </TABLE>
  288.         <BR>
  289.         <INPUT TYPE="Submit" NAME="Request" value="実行">    
  290.         </FORM>
  291.   <% else %>
  292.    </TABLE>
  293.    </FORM>
  294.    </FONT>
  295.  
  296.   <TABLE>   
  297.    <TH ALIGN=LEFT>    
  298.    <FORM NAME="ReqData" ACTION="ceaccept.asp" ENCTYPE=x-www-form-encoded METHOD=POST>
  299.       <INPUT TYPE="HIDDEN" NAME="CertRequest">
  300.       <INPUT TYPE="HIDDEN" NAME="CertAttrib" VALUE="">
  301.       <INPUT TYPE="HIDDEN" NAME="SubmitFlag" VALUE=257>
  302.       <INPUT TYPE="HIDDEN" NAME="GetCertFlag" VALUE=257>
  303.       <INPUT TYPE="HIDDEN" NAME="ControlType" VALUE=<%=ControlType%>>
  304.       <INPUT TYPE="HIDDEN" NAME="PassThru">       
  305.       <INPUT TYPE="HIDDEN" NAME="CertUsage">
  306.       <INPUT TYPE="HIDDEN" NAME="WriteCertToCSP">
  307.       <INPUT TYPE="HIDDEN" NAME="SaveCert">
  308.       <INPUT TYPE="Submit" NAME="Request" value="要求を提出" onClick="SubmitRequest()">
  309.    </FORM>
  310.    </TH>
  311.  
  312.     <% if CONTROLTYPE = "XENROLL" then %>
  313.  
  314.       <TD>  
  315.       <FORM NAME="CSPFORM" ACTION="ceadv.asp" ENCTYPE=x-www-form-encoded METHOD=POST>
  316.         <INPUT TYPE="HIDDEN" NAME="CspList" VALUE="">
  317.         <INPUT TYPE="HIDDEN" NAME="CspCount" VALUE=0>
  318.         <INPUT TYPE="HIDDEN" NAME="CommonName">
  319.         <INPUT TYPE="HIDDEN" NAME="Org">
  320.         <INPUT TYPE="HIDDEN" NAME="OrgUnit">
  321.         <INPUT TYPE="HIDDEN" NAME="Locality">
  322.         <INPUT TYPE="HIDDEN" NAME="State">
  323.         <INPUT TYPE="HIDDEN" NAME="Country">
  324.         <INPUT TYPE="HIDDEN" NAME="Email">
  325.         <INPUT TYPE="HIDDEN" NAME="Browser">
  326.         <INPUT TYPE="Submit" NAME="Advanced" value="詳細設定" OnClick="Adv()">
  327.       </FORM>    
  328.       </TD>
  329.      <% end if %>
  330.   </TABLE>
  331.  
  332.  <% end if %>   
  333.  
  334.  </CENTER>
  335.  
  336.  
  337.  <% elseif ControlType = "UNKNOWN" then %>
  338.   <CENTER>
  339.   <FONT SIZE=5><B>使用しているブラウザの種類を選択してください。</B></FORM>
  340.   <B>
  341.   <BR><BR>
  342.   <FORM ACTION="ceenroll.asp" METHOD=POST>
  343.     <TABLE BORDER=8 CELLPADDING=20> 
  344.     
  345.     <TD ALIGN=CENTER>
  346.     <FONT SIZE=5>
  347.       ブラウザの種類
  348.       <BR>
  349.       <SELECT NAME="sBrowser"> 
  350.        <OPTION SELECTED VALUE="IE4"> Microsoft Internet Explorer 4.0 Beta
  351.        <OPTION VALUE="IE4"> Microsoft Internet Explorer 3.02 with Authenticode 2.0
  352.        <OPTION VALUE="IE3"> Microsoft Internet Explorer 3.0 to 3.02
  353.        <OPTION VALUE="NETSCAPE"> Netscape
  354.       </SELECT>
  355.     <BR><BR>               
  356.     <INPUT TYPE="submit" VALUE="実行"></TD>
  357.     </B></FONT>
  358.     </TABLE>
  359.   </FORM>
  360.   </CENTER>
  361.  
  362.  <% else %>
  363.  
  364.   <CENTER>
  365.   <H1>エラー !</H1>
  366.   <B>
  367.   <FONT SIZE=5>
  368.   このブラウザでは、証明書の登録を行えません。
  369.   </FONT>
  370.   <FONT SIZE=5> 
  371.   <BR><BR><BR>
  372.   使用しているブラウザを Microsoft Internet Explorer の最新バージョンにアップグレードしてください。
  373.   </FONT>
  374.   </B>    
  375.   <BR><BR><BR><BR> 
  376.   </CENTER>
  377.  
  378.  <% end if %>
  379.  
  380.  
  381.   <!--FOOTER START-->
  382.   <HR>
  383.   <HR>
  384.   <i>© 1997 by Microsoft Corporation. All rights reserved.</i>
  385.   <!--FOOTER END-->
  386.  
  387. </BODY>
  388. </HTML>
  389.  
  390.