Dim FirstDigest
Dim Digest 
Digest= "01234567890123456"
dim bErr

'sub needUsbKey()
'	if  index.cb_isNeedUsbKey.checked =true Then
'		obj.innerHTML="<OBJECT id='ePass' style='LEFT: 0px; TOP: 0px' height='0' width='0' classid='clsid:E740C5DF-3454-46A7-80EC-364D1ADB6CF0' name='ePass' VIEWASTEXT></OBJECT>"
'	end if
'End sub

sub ShowErr(Msg)
	bErr = true
	ErrMsg.innerHTML = "<input type='hidden' name='ErrMsg' Value='" & Msg & "'>"
'	MsgBox Msg,0,"提示"
'	Document.Writeln "<FONT COLOR='#FF0000'>"
'	Document.Writeln "<P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P><P ALIGN='CENTER'><B>ERROR:</B>"
'	Document.Writeln "<P>&nbsp;</P><P ALIGN='CENTER'>"
'	Document.Writeln Msg
'	Document.Writeln " failed, and returns 0x" & hex(Err.number) & ".<br>"
'	Document.Writeln "<P>&nbsp;</P><P>&nbsp;</P><P>&nbsp;</P>"
'	Document.Writeln "</FONT>"
End Sub

function Validate()
	Digest = "01234567890123456"
	On Error Resume Next
	'Dim TheForm
	'Set TheForm = Document.forms("ValidForm")
	'If Len(TheForm.UserPIN.Value) < 4  Then
	'	MsgBox "PIN empty or user pin length less than 4 or so pin length less than 6!!"	 
	'	Validate = FALSE
	'	Exit Function
	'End If

	bErr = false

	'Let detecte whether the ePass 1000 Safe Active Control loaded.
	'If we call any method and the Err.number be set to &H1B6, it 
	'means the ePass 1000 Safe Active Control had not be loaded.
	ePass.GetLibVersion
	
	If Err.number = &H1B6 Then

		ShowErr "Load ePass 1000 Safe Active Control"
		Validate = false
		Exit function
	Else
		
		ePass.OpenDevice 1, ""
		
		If Err then
			ShowErr "请勾选使用框,并插入USB_Key!"
			Validate = false
			ePass.CloseDevice
			Exit function
		End if
	
		'ePass.ResetSecurityState 0
		dim results
		results = "01234567890123456"
		results = ePass.GetStrProperty(7, 0, 0)
		'MsgBox results

		'ePass.VerifyUserPIN TheForm.Identity.Value, TheForm.UserPIN.Value
		'ePass.VerifyPIN 0, TheForm.UserPIN.Value

		If Err Then
			ShowErr "Verify User PIN Failure!!!"
			Validate = false
			ePass.CloseDevice
			Exit function
		End If
		

		If Not bErr Then
			ePass.ChangeDir &H300, 0, "ASP_DEMO"
			If Err then 
				ShowErr "Change to demo directory"
				Validate = false
				ePass.CloseDevice
				Exit function
			End If
		End If


		'Open the first key file.
		If Not bErr Then
			ePass.OpenFile 0, 1
			If Err Then
				ShowErr "Open first KEY-file"
				Validate = false
				ePass.CloseDevice
				Exit function
			End If
		
		End If

		'Do HASH-MD5-HMAC compute.
		If Not bErr Then
			Digest = ePass.HashToken (1, 2,"<%=RandData%>")
			If Err Then 
				ShowErr "HashToken compute"
				Validate = false
				ePass.CloseDevice
				Exit function
			End If
			DigestID.innerHTML = "<input type='hidden' name='Digest' Value='" & Digest & "'>"
			snID.innerHTML = "<input type='hidden' name='SN_SERAL' Value='" & results & "'>"
		End If		
	End If

	ePass.CloseDevice
	
End function
