首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过脚本更改Gemalto智能卡的PIN

通过脚本更改Gemalto智能卡的PIN
EN

Stack Overflow用户
提问于 2015-05-27 19:07:51
回答 1查看 3.3K关注 0票数 3

我们必须使用Gemalto IDPrime .Net卡智能卡。我们得到了这些USB软线,并必须改变密码。

Gemalto通过窗口说:

在“开始”菜单中,选择“运行”并键入PINTool。按提示在读取器中插入IDPrime .Net卡,然后单击OK。更改的PIN接口将出现在旧的PIN中(默认的PIN值为0000),新的PIN并确认新的PIN。点击变更针 idprime#.VWYTWUa8rV8

这是可行的,但我想通过powershell或c#设置一个新的PIN/密码,即在程序控制下。怎么做还是不可能?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-27 21:11:29

您应该能够通过非托管PKCS#11 API更改PIN,该API可以通过一个名为Pkcs11Interop的托管.NET包装器轻松地从.NET访问。

下面是可以帮助您入门的代码示例:

代码语言:javascript
复制
using Net.Pkcs11Interop.Common;
using Net.Pkcs11Interop.HighLevelAPI;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            // Load PKCS#11 library provided by Gemalto
            using (Pkcs11 pkcs11 = new Pkcs11("gtop11dotnet.dll", true))
            {
                // Find first slot/reader with token/card present
                Slot slot = pkcs11.GetSlotList(true)[0];

                // Open RW session
                using (Session session = slot.OpenSession(false))
                {
                    // Login as normal user with current PIN
                    session.Login(CKU.CKU_USER, "0000");

                    // Set the new pin for the logged in user
                    session.SetPin("0000", "1111");

                    session.Logout();
                }
            }
        }
    }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30491101

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档