Codigo Source

Nov 12, 2011 at 7:25 PM
Edited Nov 12, 2011 at 7:27 PM

Boas,

 

Primeiro muitos parabéns Fernando (Se ainda estiveres a ouvir este fórum :)), não sabes quantos "abençoamentos" te dei por teres o código do C# wrapper já feito.

Só umas pequena dúvidas que tive a tentar fazer:

  • Á semelhança da thread "Documentation" houve algum desenvolvimento no pteid_dotnet64.dll? Ou está previsto ser lançado daqui algum tempo?
  • No código fonte do ConsoleUI tentei fazer uma coisa que acabou por me dar erro:
namespace ConsoleUI
{
  class Program
  {
    static void Main(string[] args)
    {
      EIDPT.Init("");// We pass blank or a specific card reader name, ex: "Gemplus USB Smart Card Reader 0"
      EIDPT.SetSODChecking(false);
      [....]
      Id userInfo = EIDPT.GetID();      
      [....]

Fiz o seguinte:

namespace ConsoleUI
{
  class Program
  {
    static void Main(string[] args)
    {
        SCWatcher scw = SCWatcher.GetInstance();
        scw.Start();
        string[] readers = scw.ListReaders();
        EIDPT.Init(readers[0]);// We pass blank or a specific card reader name, ex: "Gemplus USB Smart Card Reader 0"
        EIDPT.SetSODChecking(false);
       [....]
       Id userInfo = EIDPT.GetID();      
       Address add = EIDPT.GetAddress();
       [....]

Isto por si atira uma excepção SC_ERROR_SECURITY_STATUS_NOT_SATISFIED após inserir o PIN Válido (através do pop-up just-in-time) na linha do GetAddress(), o que parece-me estranho após estar a ler a documentação julguei que não era necessário estar a iniciar uma parte de código de seguro... Depois reparei duas coisas mais à frente no código tens //PteidAddress userAddress = Pteid.GetAddress();

Porém no código que existe com o Windows Forms DemoCartaoCidadao a aplicação em si não reinicia o SOD, ou modifica-o, mas funciona bem. O que estou a fazer de mal?