首页 - 技术 -  Windows: Longmai GM3000 ukey修改注册表实现是否清PIN码方法

Windows: Longmai GM3000 ukey修改注册表实现是否清PIN码方法

2023-09-15 18:49

操作系统:Win7x64

ukey型号:Longmai GM3000 for itrus(itrus定制版。通用版应该也可以,手头没有,没法测试)

csp版本: GM3000TWCSP.dll  www.gsm-guard.net

                 GM3000TWCSP_s.dll  2.0.0.2

目的:调用csp接口,实现使用ukey内证书做签名时,每次签名都输入pin码。即每次签名后都清PIN码缓存。

问题:厂家一开始提供的一版中间件,是不清PIN缓存的。输入一次PIN后,短时间内(估计几分钟)再次签名,不需要再输入PIN。

        后来向厂家要了一版中间件,安装后,可以清PIN码了。

        很奇怪这俩中间件有啥区别。于是:

步骤:

       1. 对比安装两个版本中间件后,system32和syswow64目录下新增的gm3000开头和mtoken开头的文件的版本区别。好像没区别。可以判断能否清PIN码和库文件无关。

        2.使用注册表对比工具BCompare,对比安装两个版本中间件后,注册表的变化。发现安装清PIN码中间件后:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider\Longmai GM3000 for itrus CSP V1.1]
"CrossProcess"=dword:00000002[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Cryptography\Defaults\Provider\Longmai GM3000 for itrus CSP V1.1]
"CrossProcess"=dword:00000002

而不清PIN码时:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider\Longmai GM3000 for itrus CSP V1.1]
"CrossProcess"=dword:00000001[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Cryptography\Defaults\Provider\Longmai GM3000 for itrus CSP V1.1]
"CrossProcess"=dword:00000001

实测,只有"CrossProcess"=dword:00000002时可以清PIN码,"CrossProcess"=dword:00000001或把"CrossProcess"=dword:00000001 删除是不清PIN码。

原因基本确定:csp读取这一dword值,决定是否清PIN码。

为了方便,写两个注册表文件来实现快速切换:

清PIN码:

Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider\Longmai GM3000 for itrus CSP V1.1]
"CrossProcess"=dword:00000002[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Cryptography\Defaults\Provider\Longmai GM3000 for itrus CSP V1.1]
"CrossProcess"=dword:00000002

不清PIN码:

Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider\Longmai GM3000 for itrus CSP V1.1]
"CrossProcess"=dword:00000001[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Cryptography\Defaults\Provider\Longmai GM3000 for itrus CSP V1.1]
"CrossProcess"=dword:00000001

或者直接删除这一项值:

Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\Defaults\Provider\Longmai GM3000 for itrus CSP V1.1]
"CrossProcess"=-[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Cryptography\Defaults\Provider\Longmai GM3000 for itrus CSP V1.1]
"CrossProcess"=-

测试通过。