2024-02-04 @roberto_vpt

IDENTIFICAZIONE UTENTI IN GEMINI

In Gemini serve uno standard per identificare gli utenti, i passeggeri, partendo dalla registrazione sulla capsula.

In Gemini gli utenti sono identificati cai certificati client.

Capsula e passeggero coincidono solo per la capsula ed è necessario passare al formato user@host.

SE SI COMPRENDE L'HOST SI OTTIENE LA POSSIBILITÀ DI LASCIARE MESSAGGI SULLA CAPSULA DELL'UTENTE.

La necessità è legata all'uso di messaggi e commenti che possono avere messaggi di risposta.

Dalla propria capsula si possono vedere e nel caso rispondere.

Inoltre è possibile in alternativa inoltrare ad una casella e-mail.

USANDO I CERTIFICATI CLIENT È FACILE

Facendola semplice basterebbe mettere user@host in CN.

POI HO LETTO IL FORMATO MISFIN E LE SPECIFICHE X500

Mi correggo:
DC non può contenere il '.' però openSSL crea il certificato, quindi forse si può usare nell'ambito dei certificati autofirmati su Gemini. Provo e magari funziona, altrimenti sarà necessario usare SUBJECT_ALT_NAME.

AGGIORNAMENTO:

L'uso del certificato sbagliato è come pensavo accettato dai client e dai server Gemini.

Ovviamente il certificato non è valido per Misfin e-mail ma devo provare la possibilità di ricavare user@host da UID@DC accettando il certificato client nel codice del server.

In caso di difficoltà restano user@host su CN oppure usare SUBJECT_ALT_NAME.

 String  X.500 AttributeType (per OpenSSL -subj)
      ------  --------------------------------------------
      CN      commonName (2.5.4.3)
      L       localityName (2.5.4.7)
      ST      stateOrProvinceName (2.5.4.8)
      O       organizationName (2.5.4.10)
      OU      organizationalUnitName (2.5.4.11)
      C       countryName (2.5.4.6)
      STREET  streetAddress (2.5.4.9)
      DC      domainComponent (0.9.2342.19200300.100.1.25)
      UID     userId (0.9.2342.19200300.100.1.1)

IL FORMATO UID

Serve una specifica e propongo il set base64net, registrato in lowercase.

Il carattere '_' indica uno o più spazi e non è consentito a inizio o fine userId.

Il carattere '-' è usato al posto di uno o più caratteri '-' o diversi dal set base64net.

Si antepone '@' per idendicare un userId per la capsula che si stà visitando.

SERVONO ULTERIORI PASSI NELLE PARTI INTERATTIVE DEI SERVER GEMINI

I link "=> @user" e "=> user@host" sono link alla capsula personale se disponibile.

Può essere "gemini://host/~user/", oppure quanto usato nella capsula.

SERVE UN LINK CHE RICHIEDA L'INPUT DI UN MESSAGGIO.

Propongo l'aggiunta del carattere ':' all'identificativo.

I link "=> @user:" e "=> user@host:" attivano una procedura che accetta messaggi e li inserisce in una pagina riservata all'user indicato.

Inserisco questa idea nel codice e procedo ai test in locale.

PS) Testo anche l'inserimento di un certificato completo ma sbagliato nei client.