if not CryptAcquireContext(@hProv, nil, ProvName, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT) then
if not CryptAcquireContext(@hProv, nil, ProvName, PROV_RSA_FULL, CRYPT_NEWKEYSET) then
Exit;
strPin := InputBox('PIN码检验', '请输入用户PIN码', '');
if strPin = '' then Exit;
ZeroMemory(@userPin[0], SizeOf(userPin));
DataLen := Length(strPin);
for iLp := 1 to DataLen do
userPin[iLp - 1] := Byte(strPin[iLp]);
if not CryptSetProvParam(hProv, PP_SIGNATURE_PIN, @userPin, 0) then
begin
ShowMessage('PIN验证失败');
Exit;
end else begin