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
- Si può inserire user in UID e host in DC per ottenere un indirizzo completo UID@DC.
- Si ottiene la possibilità di inserire un commonName per esteso.
- Sarà facoltativo integrare le altre informazioni disponibili.
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.