Kod błędu | Opis problemu |
0 | poprawne przetworzenie |
100 | problem techniczny |
101 | niepoprawne kodowanie znaków |
102 | brak lub niepoprawnie określony typ zawartości żądania |
200 | niepoprawna struktura obiektu domenowego |
201 | błędy walidacji przesyłanego obiektu w postaci żądania |
202 | niepoprawne ustawienia w serwisie ifirma |
400 | niepoprawny nagłówek autoryzacji |
401 | niepoprawny login użytkownika |
402 | brak wygenerowanego klucza autoryzacji |
403 | niepoprawny hash bądź kod wiadomości |
499 | brak akceptacji regulaminu ifirma.pl – zaloguj się w ifirma.pl w celu zaakceptowania regulaminu |
500 | brak uprawnień do danego zasobu |
2. Jak wyliczany jest hmac?
Hmac w przypadku użycia klucza symetrycznego liczony jest zgodnie z RFC http://tools.ietf.org/html/rfc2104 z użyciem funkcji skrótu SHA-1.
3. Jak wyliczany jest rsa?
W przypadku użycia klucza asymetrycznego rsa liczony jest zgodnie z RFC http://www.ietf.org/rfc/rfc3110.txt z użyciem funkcji skrótu RSA/SHA-1.
4. Jak można zweryfikować, że moja funkcja hmac działa prawidłowo?
przykład (PHP):
echo hmac('111111', '222222');
//daje wynik:
1558ab6c5ab2b0d1cd129b9ad11527cf33486705
Polskie znaki powinny być zakodowane zgodnie z UTF-8. Prawidłowa budowa hasha:
hashWiadomosci = hmac(klucz, url + nazwaUsera +
nazwaWykorzystanegoKlucza + requestContent).
Można zweryfikować czy Pana hmac działa poprawnie np. echo
hmac(’111111′,’222222′);
//daje wynik:
1558ab6c5ab2b0d1cd129b9ad11527cf33486705.
Hmac(’111111′,’222222′) zwróci wynik 1558ab6c5ab2b0d1cd129b9ad11527cf33486705, jeżeli klucz 111111 traktujemy jako liczbę w formacie dziesiętnym. W aplikacji podajemy klucze w formacie szesnastkowym i dla szesnastkowego 111111 i wiadomości 222222 otrzymany hash będzie miał postać cec153ee6350475f117a307111e2bd7d83034925.
Klucz musi być w postaci szesnastkowej, więc należy go przetworzyć.
Klucze generowane w panelu ifirmy np. EAB0D8ACF3308F3B to tak naprawdę 0xEA 0xB0 0xD8 0xAC 0xF3 0x30 0x8F 0x3B (8 bajtów) a nie jak można się zasugerować : 16 bajtów.
Przykład (PHP):
$klucz = "EAB0D8ACF3308F3B";
To tak naprawdę:
$klucz = chr(hexdec('EA')).chr(hexdec('B0')).chr(hexdec('D8')).chr(hexdec('AC')).chr(hexdec('F3')).chr(hexdec('30')).chr(hexdec('8F')).chr(hexdec('3B'));
5. Po użyciu narzędzia otrzymałem fakturę, na której są błędne dane. Co teraz?
Faktura jest dostępna w odpowiednim miesiącu księgowym po zalogowaniu do aplikacji ifirma. Można ją przeedytować i ponownie wygenerować dla niej pdf.
Copyright 2001-2024 ifirma.pl