Изменение SO-Pin в PKCS11 Interop - PullRequest
0 голосов
/ 12 июня 2018

Простой вопрос.Есть ли у вас какие-либо идеи, если есть возможность изменить SO-контакт токена (в моем случае ePass2003) с помощью pkcs11 Interop?Спасибо заранее.

1 Ответ

0 голосов
/ 13 июня 2018

Сейчас я не могу найти свой ePass2003 для тестирования, но я бы попробовал с этим кодом:

using Net.Pkcs11Interop.Common;
using Net.Pkcs11Interop.HighLevelAPI;

namespace ConsoleApp1
{
    class Program
    {
        static string pkcs11Library = "opensc-pkcs11";
        static string oldSoPin = "1111111111";
        static string newSoPin = "2222222222";

        static void Main(string[] args)
        {
            using (Pkcs11 pkcs11 = new Pkcs11(pkcs11Library, AppType.SingleThreaded))
            {
                Slot firstSlot = pkcs11.GetSlotList(SlotsType.WithTokenPresent)[0];
                using (Session session = firstSlot.OpenSession(SessionType.ReadWrite))
                {
                    session.Login(CKU.CKU_SO, oldSoPin);
                    session.SetPin(oldSoPin, newSoPin);
                }
            }
        }
    }
}
...