bitlvl
SR

Punycode / IDN konvertor

Ukucajte domen sa ne-ASCII slovima da dobijete oblik koji DNS zaista koristi, ili nalepite xn-- ime da vidite šta znači. Svaka labela se prikazuje posebno.

Rezultati i poruke ovog alata prikazuju se na engleskom.

Zašto domenima treba Punycode

DNS prenosi samo slova, cifre i crtice u ASCII-ju. Da bi se dozvolila imena kao münchen.de ili 日本語.jp, svaka ne-ASCII labela se kodira u ASCII string koji počinje sa xn--. Pregledači prikazuju Unicode oblik, a razrešavaju ASCII; sertifikati, zonske datoteke i većina API-ja traže ASCII oblik. Kodiranje je Punycode (RFC 3492), a pravila o tome koji su znakovi dozvoljeni i kako se normalizuju su IDNA (RFC 5890–5895, UTS 46).

Kako Punycode radi

  1. Prepišite ASCII znakove labele kakvi jesu, pa crticu ako ih je bilo: mnchen-.
  2. Kodirajte pozicije i kodne tačke ne-ASCII znakova kao niz cifara u bazi 36 (a–z, 0–9) sa šemom promenljive dužine koja uobičajene slučajeve drži kratkim: 3ya kaže „ubaci ü posle prvog znaka“.
  3. Dodajte prefiks xn--: xn--mnchen-3ya.

Rezultat ne razlikuje velika i mala slova i ima najviše 63 bajta po labeli, kao svaka DNS labela.

Homografski napadi

Pošto ćirilična а, е, о, р, с izgledaju kao latinična slova, xn--80ak6aa92e.com se prikazuje kao ubedljivi apple.com. Pregledači sada prikazuju xn-- oblik kad labela meša pisma ili koristi zamenljive znakove, a registri ograničavaju koja pisma smeju da se kombinuju. Konvertor iz istog razloga upozorava kad labela meša pisma.

Gde ćete ga sresti

TLS sertifikati (SAN mora da sadrži xn-- oblik), SPF i DKIM zapisi, adrese e-pošte (ü@example.de zahteva SMTPUTF8 i odvojeno je od IDN-a), URL-ovi u logovima, i dig, koji ispisuje ASCII oblik.

Pitanja

Šta znači xn--?

To je ACE prefiks koji označava Punycode kodiranu labelu. Svaka DNS labela koja počinje sa xn-- je internacionalizovano ime u ASCII obliku.

Da li u sertifikatu koristim Unicode ili xn-- oblik?

xn-- oblik, i u CN-u (ako se koristi) i u subjectAltName. Let’s Encrypt i drugi CA prihvataju Unicode oblik u zahtevu i konvertuju ga.

Zašto moj konvertor daje drugačiji rezultat za velika slova?

IDNA mapira imena u mala slova i NFC pre kodiranja, pa MÜNCHEN.de i münchen.de daju istu xn-- labelu. Ovaj alat primenjuje isto mapiranje.

Mogu li adrese e-pošte da budu internacionalizovane?

Deo sa domenom koristi Punycode kao i svaki domen. Lokalni deo pre @ može biti UTF-8 samo uz SMTPUTF8 (RFC 6531), koji ne podržavaju svi mail serveri; za njega ne postoji Punycode.