Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Citac licnih karti celikapi.h

[es] :: C/C++ programiranje :: Citac licnih karti celikapi.h

Strane: < .. 1 2 3 4

[ Pregleda: 32314 | Odgovora: 78 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nepodmitljivi
Milan Milojic
student
Nis

Član broj: 243181
Poruke: 10
..3.252.195.static.beotel.net.



Profil

icon Re: Citac licnih karti celikapi.h12.03.2010. u 09:16 - pre 142 meseci
[SuppressUnmanagedCodeSecurity()]
public class myIDUnsafeNativeMethods
{
[DllImport(GlobalConstants.myIDApi, CharSet = CharSet.Unicode)]
static internal extern int EidStartup(
int nApiVersion
);

[DllImport(GlobalConstants.myIDApi, EntryPoint = "EidCleanup", CharSet = CharSet.Unicode)]
static internal extern int EidCleanup(
);

[DllImport(GlobalConstants.myIDApi, CharSet = CharSet.Unicode)]
static internal extern int EidReadFixedPersonalData(
ref tagEID_FIXED_PERSONAL_DATA pData
);

[DllImport(GlobalConstants.myIDApi, CharSet = CharSet.Unicode)]
static internal extern int EidReadDocumentData(
ref tagEID_DOCUMENT_DATA pData
);

[DllImport(GlobalConstants.myIDApi, CharSet = CharSet.Unicode)]
static internal extern int EidBeginRead(
[MarshalAs(UnmanagedType.LPStr)] String szReader
);
...



[SecurityPermission(SecurityAction.Assert, UnmanagedCode = true)]
public myResult ReadData()
{
myResult tmpResult = new myResult();
int ret;

ret = myIDUnsafeNativeMethods.EidBeginRead(_deviceName);
if (ret < 0)
{
tmpResult.errorCode = ret;
tmpResult.errorMessage = GetErrorMessage(ret) + " _EidBeginRead";
myIDUnsafeNativeMethods.EidEndRead();
return tmpResult;
}
ret = myIDUnsafeNativeMethods.EidReadDocumentData(ref tmpResult.eIdDocumentData);
if (ret < 0)
{
tmpResult.errorCode = ret;
tmpResult.errorMessage = GetErrorMessage(ret) + " _EidReadDocumentData";
myIDUnsafeNativeMethods.EidEndRead();
return tmpResult;
}
...
Nema nekih detalja :) idem kroz kod, EidBeginRead vrati 0, dodjem do EidReadDocumentData i dobijem EID_E_READER_ERROR = -6; Cini mi se da sedmica daje drugacija imena USB uredjajima od XP-a, to sam primetio pomocu ovog programceta http://www.nirsoft.net/utils/usb_devices_view.html, eksperimentisao sam sa _deviceName, ali onda dobijem EID_E_UNABLE_TO_EXECUTE = -5; Dublje od toga ne mogu da udjem kroz debug (cekirao sam u project properties "Enable unmanaged code debug").
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1236



+93 Profil

icon Re: Citac licnih karti celikapi.h12.03.2010. u 11:07 - pre 142 meseci
Ako imaš samo jedan čitač u sistemu onda stavi prazan string kao ime čitača.
 
Odgovor na temu

irreal
Miloš Spasojević
IT Manager, darex
Beograd, Srbija

Član broj: 258825
Poruke: 3
*.static.isp.telekom.rs.



Profil

icon Re: Citac licnih karti celikapi.h04.05.2010. u 11:42 - pre 141 meseci
nepodmitljivi, da li možeš ti ili neko drugi ko je koristio dll iz C# / VB.NET-a da mi pokažeš kako si definisao strukturu EID_DOCUMENT_DATA ?

sve mi prolazi bez problema, ali kada god pozovem EidReadDocumentData, dobijem AccessViolationException "Attempted to read or write protected memory. This is often an indication that other memory is corrupt"

prethodne funkcije vracaju eid_ok i sve radi kako treba.

za naziv uredjaja saljem prazan string ("") posto imam samo jedan citac na sistemu.

isto koristim gemalto citac, isto koristim windows 7, medjutim razlika je sto sam aplikaciju testirao i na Win XP (na kojem takodje imam drajvere i radi mup-ova aplikacija) i tu takodje puca pri pozivu EidReadDocumentData

može li iko da mi pomogne?

evo je moja trenutna definicija za eid_document_data, ma da sam probao hiljadu razlicitih nacina do sada:
Code:
        [StructLayout(LayoutKind.Sequential, Size = EID_MAX_IssuingAuthority + EID_MAX_IssuingDate + EID_MAX_DocRegNo + EID_MAX_ExpiryDate), Serializable]
        public class EID_DOCUMENT_DATA
        {
            [MarshalAsAttribute(UnmanagedType.LPStr, SizeConst = EID_MAX_DocRegNo)]
            public string docRegNo;
            public int docRegNoSize;
            [MarshalAsAttribute(UnmanagedType.LPStr, SizeConst = EID_MAX_IssuingDate)]
            public string issuingDate;
            public int issuingDateSize;
            [MarshalAsAttribute(UnmanagedType.LPStr, SizeConst = EID_MAX_ExpiryDate)]
            public string expiryDate;
            public int expiryDateSize;
            [MarshalAsAttribute(UnmanagedType.LPStr, SizeConst = EID_MAX_IssuingAuthority)]
            public string issuingAuthority;
            public int issuingAuthoritySize;
        };


(smatram da je nepotrebno da postavljam ostatak koda koji imam jer su definicije funkcija uglavnom identicne kao u kodu koji je postavio nepodmitljivi)
 
Odgovor na temu

apolo469
Beograd

Član broj: 83177
Poruke: 9
*.dynamic.isp.telekom.rs.



Profil

icon Re: Citac licnih karti celikapi.h20.07.2010. u 21:31 - pre 138 meseci
Ako je tema ziva jos uvek... Treba mi prikaz podataka sa LK u VB.netu.... onaj celik api sto je okacen na MUP sajtu ne moze da je upotrebi ili ja ne znam kako to da uradim...
Da li je neko pokusao da integrise celik u VB.net ...svaka pomoc bi mi bila dobrodosla

Hvala
 
Odgovor na temu

MAD-MAX
Marko Mitic

Član broj: 351
Poruke: 1060
*.pstech.rs.

Jabber: MAD-MAX@jabber.com
ICQ: 65811355


Profil

icon Re: Citac licnih karti celikapi.h07.09.2010. u 11:40 - pre 136 meseci
Treba da nekako prosledim ime i prezime koje pročitam sa lične karta nekom mom php skriptu. E sad, problem je kao što je i pisano ovde, što je ime i prezime na ćirilici i ne znam kako da ga prosledim, da li da nekako (ne znam kako) to u samom c++ "prevedem" na latinicu ili kako? Ono sa MultiByteToWideChar mi nije baš najjasnije.

Vidim da neko vreme nije pisano na ovoj temi ali ako je neko nešto konkretno uradio povodom toga bio bi mu zahvalan na pomoći.
"If you do what you always did! - You will get what you always got!"
 
Odgovor na temu

Goran Rakić
Beograd

Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Citac licnih karti celikapi.h07.09.2010. u 11:47 - pre 136 meseci
Ime i prezime na samoj ličnoj karti je UTF-8. Samo prosledi to PHP-u, i transliteruj ako želiš bilo pre, bilo posle slanja.

Pogledaj i http://gitorious.org/freesteel za alternativu, može ti biti zgodnije za integraciju.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

apolo469
Beograd

Član broj: 83177
Poruke: 9
*.rcub.bg.ac.rs.



Profil

icon Re: Citac licnih karti celikapi.h07.09.2010. u 11:54 - pre 136 meseci
Jel uspeo neko na Linuxu da ocita LK?
 
Odgovor na temu

Goran Rakić
Beograd

Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Citac licnih karti celikapi.h07.09.2010. u 12:14 - pre 136 meseci
http://blog.goranrakic.com/arc..._licne_karte_za_gnulinuks.html

Citat:

Predstavljam vam slobodan čitač elektronske karte, od milja nazvan FreeSteel. Trenutno, FreeSteel je jednostavna Python skripta koji se oslanja na pyscard i PC/SC i radi na svim poznatim platformama (Linux, Windows, MacOS X). Skript se poziva iz terminala, i ispisuje informacije inače vidljive kroz besplatnu aplikaciju Čitač Elektronske Lične Karte za Windows. Sa argumentom -p program čuva sliku sa lične karte u datoteku <JMBG>.jpg, moguće je i navesti posebno ime sa -p moja_slika.jpg. Opcije -q i -s omogućavaju izvoz X.509 sertifikata sa javnim delom ključa za kvalifikovani i običan elektronski potpis.


Trebalo bi da MUP ima i CelikAPI biblioteku i aplikaciju za GNU/Linuks, ali ja do toga nisam uspeo da dođem. Pokušavam da dođem do tehničke specifikacije operativnog sistema na kartici.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

MAD-MAX
Marko Mitic

Član broj: 351
Poruke: 1060
*.pstech.rs.

Jabber: MAD-MAX@jabber.com
ICQ: 65811355


Profil

icon Re: Citac licnih karti celikapi.h07.09.2010. u 12:18 - pre 136 meseci
Citat:
Goran Rakić: Ime i prezime na samoj ličnoj karti je UTF-8. Samo prosledi to PHP-u, i transliteruj ako želiš bilo pre, bilo posle slanja.

Pogledaj i http://gitorious.org/freesteel za alternativu, može ti biti zgodnije za integraciju.


Da stavim www.nesto.com/skirpt.php?name=ВЛАДИМИР

Pokušavao sam to al neće tako. Kako si ti tačno uspevao?
"If you do what you always did! - You will get what you always got!"
 
Odgovor na temu

Goran Rakić
Beograd

Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Citac licnih karti celikapi.h07.09.2010. u 12:28 - pre 136 meseci
Šta ti je to "╨Æ╨¢╨É╨ö"?

Ako uradiš ispravan UTF-8 urlencode parametra skript.php?name=GORAN (ćirilicom) radi sasvim normalno (postaje skript.php?name=%D0%93%D0%9E%D0%A0%D0%90%D0%9D) i očitavaš $_GET['name'] kao UTF-8 nisku u PHP-u. Ako koristiš neku biblioteku za slanje HTTP GET zahteva, pogledaj kako ona radi sa UTF-8 tekstom i da li očekuje da urlencode odradiš ti ili biblioteka to radi umesto tebe.

Ne znam koji alat koristiš pa ne mogu da ti više pomognem. Vodi računa da UTF-8 ne učitavaš u široki char tip, već u bajtovsku nisku ili da odradiš ispravnu konverziju (ne preko trenutne sistemske kodne strane). Vodi računa da urlencode koji bi koristio potržava višebajtni UTF-8 zapis.

Problem koji imaš nema veze sa ličnom kartom već time što ne znaš kako da radiš sa UTF-8 tekstom.
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

MAD-MAX
Marko Mitic

Član broj: 351
Poruke: 1060
*.pstech.rs.

Jabber: MAD-MAX@jabber.com
ICQ: 65811355


Profil

icon Re: Citac licnih karti celikapi.h07.09.2010. u 13:02 - pre 136 meseci
Citat:
Goran Rakić:...
Problem koji imaš nema veze sa ličnom kartom već time što ne znaš kako da radiš sa UTF-8 tekstom.


Upravo tako.

Možda nisam dovoljno precizno formulisao pitanje, moj je i problem što ne znam da radim sa utf-om u C/C++.
Znači kako da iz onog

char givenName[EID_MAX_GivenName];
int givenNameSize;

ja "lepo" pročitam tu ćirilicu i prosledim je php skriptu?
"If you do what you always did! - You will get what you always got!"
 
Odgovor na temu

Goran Rakić
Beograd

Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Citac licnih karti celikapi.h07.09.2010. u 13:08 - pre 136 meseci
Zavisi od toga kako je prosleđuješ i da li tvoj PHP očekuje UTF-8 ili CP1251 ili neki drugi kodni raspored? (Ako bi pravio HTML formular, šta bi stavio kao meta charset?)
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

MAD-MAX
Marko Mitic

Član broj: 351
Poruke: 1060
*.pstech.rs.

Jabber: MAD-MAX@jabber.com
ICQ: 65811355


Profil

icon Re: Citac licnih karti celikapi.h07.09.2010. u 13:45 - pre 136 meseci
utf-8
"If you do what you always did! - You will get what you always got!"
 
Odgovor na temu

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 379
92.244.133.*

ICQ: 195487525
Sajt: cpptea.com


+1 Profil

icon Re: Citac licnih karti celikapi.h07.09.2010. u 13:57 - pre 136 meseci
Ako binarne rezultate iz C++ prikazuješ u PHP preko HTML-a, dovoljno je da u header ubaciš:

Code:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
...
</head>

Ipak se ++uje.
 
Odgovor na temu

Goran Rakić
Beograd

Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Citac licnih karti celikapi.h07.09.2010. u 13:58 - pre 136 meseci
Kako šalješ HTTP GET? Imaš li neku biblioteku koju koristiš ili ručno praviš socket pa dalje?
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

MAD-MAX
Marko Mitic

Član broj: 351
Poruke: 1060
*.pstech.rs.

Jabber: MAD-MAX@jabber.com
ICQ: 65811355


Profil

icon Re: Citac licnih karti celikapi.h07.09.2010. u 14:07 - pre 136 meseci
Moj problem je više sa C++ strane, PHP je u redu. Kada bih ja mogao da u C++-u generišem nešto ovako:

skript.php?name=%D0%93%D0%9E%D0%A0%D0%90%D0%9D

to radi bez problema. I vrednost je promenljive name je GORAN.

Ja iz ovog niza karaktera "char givenName[EID_MAX_GivenName];" kad pročitam šta piše dobijem ovo "╨Æ╨¢╨É╨ö". Inače pravi tekst koji se krije je "VLADIMIR" i to su 8 karaktera, vrednost promenljive givenNameSize je 16 odnosno niz givenName ima 16 elemenata, po dva za svako ćirilično slovo.

Ono što ja ne znam je kako da iz tog niza karaktera "givenName" dobijem vrednost kao na primer "%D0%93%D0%9E%D0%A0%D0%90%D0%9D" koju bi lepo prosledio u URL i posle bi bilo sve ok.

"If you do what you always did! - You will get what you always got!"
 
Odgovor na temu

MAD-MAX
Marko Mitic

Član broj: 351
Poruke: 1060
*.pstech.rs.

Jabber: MAD-MAX@jabber.com
ICQ: 65811355


Profil

icon Re: Citac licnih karti celikapi.h07.09.2010. u 14:09 - pre 136 meseci
Imam

char* link = "http://localhost/licna_karta.php?name=";

posle na to treba da dodam vrednost i pozovem

ShellExecute(NULL, "open", a, NULL, NULL, SW_SHOWNORMAL);

Btw "a" je isto tipa char* na koji je nadovezana vrednost promenljive
"If you do what you always did! - You will get what you always got!"
 
Odgovor na temu

kiklop74
Darko Miletić
Buenos Aires

Član broj: 78422
Poruke: 569
200.49.157.*

Sajt: ar.linkedin.com/pub/darko..


+13 Profil

icon Re: Citac licnih karti celikapi.h07.09.2010. u 14:39 - pre 136 meseci
Na primer:

http://www.codeproject.com/KB/string/urlencode.aspx
Tko leti vrijedi
 
Odgovor na temu

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 379
92.244.133.*

ICQ: 195487525
Sajt: cpptea.com


+1 Profil

icon Re: Citac licnih karti celikapi.h07.09.2010. u 14:40 - pre 136 meseci
Citat:
MAD-MAX: Moj problem je više sa C++ strane, PHP je u redu. Kada bih ja mogao da u C++-u generišem nešto ovako:

skript.php?name=%D0%93%D0%9E%D0%A0%D0%90%D0%9D

to radi bez problema. I vrednost je promenljive name je GORAN.


Aha. Pa to prevodiš u bazu 16, bajt po bajt. Dakle, ako imaš niz od dva bajta (unsigned char-a) 80 i 100. Njih ćeš slati kao: %50%64, jer je 80 u bazi 16 = 50, a 100 u bazi 16 = 64.
Ipak se ++uje.
 
Odgovor na temu

Goran Rakić
Beograd

Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: Citac licnih karti celikapi.h07.09.2010. u 14:44 - pre 136 meseci
Kao što rekoh, potrebno je da name provučeš kroz urlencode:

Code (c):
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define hex(c) ( (c)<10 ? '0'+(c) : 'A'+(c)-10 )

char *urlencode(char *s) {
  char *ret = malloc(strlen(s)*3+1), *p = ret;
  while (*s) {
    if (isalnum(*s) || *s == '-' || *s == '_' || *s == '.')
      *p++ = *s;
    else if (*s == ' ')
      *p++ = '+';
    else {
      *p++ = '%';
      *p++ = hex(0xF & (*s>>4)); // visi polubajt
      *p++ = hex(0xF & *s);      // nizi polubajt
    }
    s++;
  }
  *p = '\0';
  return ret;
}

int main() {
  char *str = "GORAN RAKIĆ";
  char *enc = urlencode(str);
  printf("%s\n", enc);
  free(enc);
  return 0;
}


http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
Odgovor na temu

[es] :: C/C++ programiranje :: Citac licnih karti celikapi.h

Strane: < .. 1 2 3 4

[ Pregleda: 32314 | Odgovora: 78 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.