Per què cryptoapicert falla a OpenVPN 3 i Connect a Windows
La directiva pertany a un client de Windows, no al protocol. La biblioteca principal exposa retorns de trucada per a la signatura, i la interfície té el seu propi flux d’importació.
Copieu un perfil OpenVPN 2 que funciona en un client de Windows més nou, i el certificat que el client antic trobava tot sol ja no s’ofereix. La línia que ho feia possible és un selector exclusiu de Windows que pertany al client Community 2, i l’aplicació més nova és un altre programa amb un altre camí de credencials. El perfil no ha canviat tret d’aquella línia, i això és exactament el que fa difícil de veure la diferència.
En aquest informe es confonen tres capes: el client Community, la biblioteca principal i la interfície que algú ha instal·lat. Només una d’elles va entendre mai la directiva.
Què significa l’opció on existeix
Al client Community OpenVPN 2 a Windows, cryptoapicert designa un certificat que el client ha de trobar a l’emmagatzematge de certificats de Windows i no en un fitxer. És una comoditat específica de Windows, i funciona perquè aquell client sap enumerar l’emmagatzematge i lliurar la clau resultant a la seva pròpia pila TLS. La directiva forma part, doncs, del llenguatge de configuració d’aquell client, no d’una propietat del protocol OpenVPN. Res del format de transmissió no la transporta.
Copieu la mateixa línia en una altra aplicació i haureu copiat una paraula que el programa nou pot analitzar, ignorar o rebutjar. Una directiva no és una característica del protocol, i aquesta no és ni tan sols una característica de tots els clients que parlen OpenVPN.
Què exposa en canvi la biblioteca principal
OpenVPN 3 Core és una biblioteca que altres aplicacions incrusten, i tracta les credencials externes mitjançant una API en lloc d’una cerca a l’emmagatzematge. L’aplicació que la incrusta proporciona una cadena de certificats i, més tard, demana a la biblioteca que signi amb una clau externa, i la biblioteca torna a cridar l’aplicació per fer-ho. És un disseny més general, i significa que la interfície decideix quins proveïdors existeixen. En el tractament d’opcions de la mateixa biblioteca, cryptoapicert apareix entre les directives que no s’implementen, cosa coherent amb aquest repartiment de responsabilitats.
L’existència d’aquests retorns de trucada no vol dir que una aplicació empaquetada concreta enumeri l’emmagatzematge personal de l’usuari actual, admeti un proveïdor de claus determinat o pugui completar una sol·licitud de targeta intel·ligent. Són propietats de la interfície, i cadascuna l’ha de documentar la interfície.
Què fa en canvi la interfície de Windows
OpenVPN Connect segueix una altra via: l’operador importa un fitxer PKCS#12 que conté el certificat i la seva clau privada en un OpenVPN Certificate Store creat per a aquesta finalitat, i després assigna el certificat extern al perfil. És un pas d’importació deliberat, no un descobriment automàtic del que hi hagi a l’emmagatzematge personal. La distinció importa quan algú suposa que un certificat instal·lat per a una altra finalitat apareixerà simplement a la llista del client.
La importació també té una conseqüència per a la política de claus, perquè exportar una clau a un fitxer P12 és exactament el que una clau no exportable està dissenyada a impedir. És una qüestió de política i no de configuració, i mereix una resposta abans que algú intenti la importació.
Trieu un camí que encaixi amb la política de la clau
Si la credencial és exportable i la política permet la importació documentada, useu el procés d’enregistrament protegit de l’organització i manteniu el P12 temporal i la seva contrasenya fora dels registres i dels scripts. Si la clau no ha de sortir mai d’una targeta intel·ligent o d’un proveïdor protegit, trieu una combinació de client i proveïdor que admeti explícitament aquest requisit, o obteniu la confirmació del proveïdor per a la versió que heu instal·lat. Cap de les dues branques no és una solució alternativa per a l’altra.
Tornar a afegir la directiva al perfil no pot proporcionar una integració que l’aplicació no té. Ni una versió més nova del client l’afegeix necessàriament, perquè la capacitat pertany al disseny propi de la interfície.
Un cop la clau local funciona, el servidor encara comprova la identitat del certificat, la cadena i l’autorització. Una clau local utilitzable i una identitat VPN acceptada són resultats separats, i mantenir-los separats és el que evita que una limitació de la interfície es converteixi en una política de certificats debilitada.