Copie un perfil de OpenVPN 2 que funciona nun cliente de Windows máis recente, e o certificado que o cliente antigo atopaba por si mesmo xa non se ofrece. A liña que o facía posible é un selector exclusivo de Windows que pertence ao cliente Community 2, e a aplicación máis recente é outro programa cunha ruta de credenciais distinta. O perfil non cambiou agás esa liña, e iso é xustamente o que fai difícil ver a diferenza.

Nese informe confúndense tres capas: o cliente Community, a biblioteca central e a interface que alguén instalou. Só unha delas entendeu algunha vez a directiva.

Que significa a opción onde existe

No cliente Community OpenVPN 2 para Windows, cryptoapicert nomea un certificado que o cliente debe localizar no almacén de certificados de Windows en lugar de nun ficheiro. É unha comodidade específica de Windows, e funciona porque ese cliente sabe enumerar o almacén e entregar a chave resultante á súa propia pila TLS. A directiva forma parte, xa que logo, da linguaxe de configuración dese cliente, non dunha propiedade do protocolo OpenVPN. Nada no formato de transmisión a transporta.

Copie a mesma liña noutra aplicación e terá copiado unha palabra que o novo programa pode analizar, ignorar ou rexeitar. Unha directiva non é unha característica do protocolo, e esta non é sequera unha característica de todos os clientes que falan OpenVPN.

Que expón en cambio a biblioteca central

OpenVPN 3 Core é unha biblioteca que outras aplicacións incrustan, e trata as credenciais externas mediante unha API en lugar dunha busca no almacén. A aplicación que a incrusta fornece unha cadea de certificados e, máis tarde, pide á biblioteca que asine cunha chave externa, e a biblioteca volve chamar a aplicación para facelo. É un deseño máis xeral, e significa que a interface decide que provedores existen. No tratamento de opcións da propia biblioteca, cryptoapicert aparece entre as directivas que non están implementadas, o que concorda con ese reparto de responsabilidades.

A existencia deses retornos de chamada non significa que unha aplicación empaquetada concreta enumere o almacén persoal do usuario actual, admita un provedor de chaves determinado ou poida completar unha solicitude de tarxeta intelixente. Son propiedades da interface, e cada unha debe documentala a interface.

Que fai en cambio a interface de Windows

OpenVPN Connect segue outra vía: o operador importa un ficheiro PKCS#12 que contén o certificado e a súa chave privada nun OpenVPN Certificate Store creado para ese fin, e despois asigna o certificado externo ao perfil. É un paso de importación deliberado, non un descubrimento automático do que haxa no almacén persoal. A distinción importa cando alguén supón que un certificado instalado para outro propósito aparecerá simplemente na lista do cliente.

A importación tamén ten unha consecuencia para a política de chaves, porque exportar unha chave a un ficheiro P12 é exactamente o que unha chave non exportable está deseñada para impedir. É unha cuestión de política e non de configuración, e merece unha resposta antes de que alguén intente a importación.

Escolla unha vía que encaixe coa política da chave

Se a credencial é exportable e a política permite a importación documentada, use o proceso de rexistro protexido da organización e manteña o P12 temporal e o seu contrasinal fóra dos rexistros e dos scripts. Se a chave non debe saír nunca dunha tarxeta intelixente ou dun provedor protexido, escolla unha combinación de cliente e provedor que admita explicitamente ese requisito, ou obteña a confirmación do provedor para a versión que instalou. Ningunha das dúas ramas é unha solución alternativa para a outra.

Volver engadir a directiva ao perfil non pode fornecer unha integración que a aplicación non ten. Tampouco a engade necesariamente unha versión máis recente do cliente, porque a capacidade pertence ao deseño propio da interface.

Unha vez que a chave local funciona, o servidor segue comprobando a identidade do certificado, a cadea e a autorización. Unha chave local utilizábel e unha identidade VPN aceptada son resultados separados, e mantelos separados é o que evita que unha limitación da interface se converta nunha política de certificados debilitada.

Artigos relacionados