Как импортировать Axaltocm DLL [Gemalto .net карты] в.net
Как я могу использовать мини-драйвер для смарт-карты Gemalto (axaltocm.dll) в.net для использования метода
void ChangeReferenceData(byte mode, byte role, byte[] oldPin,byte[] newPin, int maxTries);
Я установил мини-драйвер Gelamto из Windows Update.
В основном я хочу изменить ключ администратора, используя метод ChangeReferenceData.
Пожалуйста помоги.
3 ответа
Вы можете установить Gemalto SDK http://www.gemalto.com/products/dotnet_card/resources/development.html
Добавьте CardModule_stub.dll в качестве ссылки
Используйте сервис MSCM:
CardModuleService service = (CardModuleService) Activator.GetObject (typeof (CardModuleService), @ "apdu: // selfdiscover / MSCM")
service.ChangeReferenceData (.......)
Мое решение для изменения ключа администратора (на смарт-карте Gemalto IDPrime.Net):
byte[] ch = service.GetChallenge();
String sData = BitConverter.ToString(ch).Replace("-", "");
byte[] bResp = Encrypt("000000000000000000000000000000000000000000000000", "0000000000000000", sData);//key, and iv
service.ExternalAuthenticate(bResp);
if (service.IsAuthenticated(2))//2-Admin,1-User
{
byte[] ch1 = service.GetChallenge();
String sData1 = BitConverter.ToString(ch1).Replace("-", "");
byte[] bResp1 = Encrypt("000000000000000000000000000000000000000000000000", "0000000000000000", sData1);
service.ChangeReferenceData(0, 2, bResp1, b_newpin , -1);//for Admin PIN
//service.ChangeReferenceData(0, 1, Encoding.ASCII.GetBytes(userpin), Encoding.ASCII.GetBytes("0001"), -1);//for User PIN
}
Вы не можете импортировать dll refence в свой проект? Если dll - неуправляемый код (например, C++), вы должны использовать dllimport. http://msdn.microsoft.com/en-us/library/aa288468(v=vs.71).aspx. Иначе вы должны просто добавить ссылку.