Skip to content

Punto de acceso privado para descarga binaria de clientes con licencia

El servidor de versiones binarias es el componente de software.pointsav.com que entrega binarios compilados a los clientes con licencia. Es una puerta delgada y sin estado: no almacena registros de pago, datos de clientes ni claves de firma. Su única responsabilidad es verificar que el token de licencia presentado sea genuino y autorice el producto solicitado, y luego transmitir el archivo binario. Un cliente que ha completado una compra y posee un token válido puede descargar el binario correspondiente sin ninguna interacción adicional con la infraestructura de pagos.

Estructura de rutas

El servidor de versiones organiza sus puntos de acceso en cuatro categorías.

Descubrimiento de productos y versiones. Un índice de productos sin autenticación lista todos los productos cuyas versiones están disponibles en el servidor, y un índice de versiones lista todas las versiones disponibles para un producto determinado. Estos puntos de acceso no requieren token de licencia y están diseñados para ser consumidos por herramientas como gestores de paquetes, scripts de instalación y pipelines de CI.

Descarga de binarios versionados. El punto de acceso principal protegido sirve un binario para un producto, versión y plataforma específicos. Las solicitudes a este punto de acceso requieren un token de licencia válido. Un archivo de firma Ed25519 separada para cada binario está disponible en una ruta correspondiente y siempre está sin autenticación — las firmas separadas son públicas por diseño, lo que permite a cualquier parte verificar la autenticidad de un binario sin tener una licencia.

Redirección a la última versión. Un punto de acceso de conveniencia resuelve la versión más alta disponible para un producto y plataforma dados, y emite una redirección a la ruta de descarga versionada. El token de licencia se reenvía a través de la redirección. La redirección solo apunta a combinaciones de plataforma y versión para las que realmente existe una versión; no redirigirá a una versión que carezca de un binario para la plataforma solicitada.

Manifiesto de versión. Un punto de acceso de metadatos por versión sirve un manifiesto estructurado que describe el contenido de una versión. No se requiere autenticación. Este punto de acceso es útil para herramientas que necesitan inspeccionar el contenido de una versión antes de iniciar una descarga.

Introspección de tokens. Un punto de acceso autenticado devuelve metadatos sobre el token presentado en sí — su producto asociado y su vencimiento — sin iniciar una descarga. Un punto de acceso de verificación de estado separado y sin autenticación respalda la supervisión de disponibilidad.

Autenticación

El servidor de versiones acepta un token de licencia en dos formas.

Encabezado HTTP de autorización. El token se pasa como credencial Bearer en el encabezado Authorization. Esta es la forma estándar para clientes programáticos, instaladores automatizados y herramientas de línea de comandos que pueden establecer encabezados de solicitud arbitrarios.

Parámetro de consulta. El token se pasa como parámetro token añadido a la URL. Esta forma existe específicamente para habilitar enlaces de descarga con un solo clic iniciados desde el navegador: una tienda virtual puede generar una URL que incluya el token, lo que permite al cliente descargar un binario directamente desde su navegador sin configurar ningún encabezado HTTP. Ambas formas son igualmente seguras — ninguna expone el token a partes adicionales más allá del cliente y el servidor.

Lógica de verificación

El servidor decodifica la cadena del token en base64url, separa los primeros 64 bytes como una firma Ed25519 y verifica la firma sobre los bytes restantes utilizando la clave pública de verificación almacenada en el servidor. Luego analiza la carga útil y comprueba dos cosas: que el campo de producto en la carga útil coincida con el producto solicitado, y que la fecha de vencimiento no haya pasado. Un token para un producto diferente devuelve 403. Un token cuya firma no se verifica devuelve 401. Un token vencido devuelve 403 con un motivo que indica que el canal ha vencido. El formato del token se describe en detalle en crypto-license-sales-architecture.

Cadenas de plataforma

Las cadenas de plataforma siguen la convención de triple objetivo de Rust. Entre los ejemplos se incluyen x86_64-unknown-linux-gnu para Linux de 64 bits en x86, aarch64-unknown-linux-gnu para Linux ARM de 64 bits y x86_64-apple-darwin para macOS en Intel. El servidor mapea el nombre del producto, la cadena de versión y el triple de plataforma directamente a una ruta de archivo en el directorio de versiones. Si no se ha compilado ningún binario para la combinación solicitada, el servidor devuelve 404 con una nota indicando que el pipeline de compilación aún no ha producido esa versión. El punto de acceso de redirección a la última versión solo redirige a cadenas de plataforma para las que realmente existe un archivo de versión.

Gestión de claves y comportamiento de seguridad ante fallos

El servidor carga la clave pública de verificación Ed25519 al iniciar desde una fuente de configuración. Si no se configura ninguna clave, el servidor no acepta silenciosamente todos los tokens: los puntos de acceso de descarga y verificación devuelven una respuesta de servicio no disponible. Este comportamiento de seguridad ante fallos significa que una instancia mal configurada o recién desplegada que aún no ha recibido una clave de verificación rechazará todas las solicitudes en lugar de conceder accidentalmente acceso. Una instancia correctamente configurada con una clave válida aceptará los tokens firmados por la clave privada correspondiente y rechazará todos los demás.

Lo que el servidor no hace

El servidor de versiones no registra las descargas individuales ni mantiene ningún historial de descargas. No implementa la revocación de tokens: una vez emitido un token, sigue siendo válido hasta su fecha de vencimiento, y no existe ninguna lista de revocación. Los clientes que necesiten evitar que se use un token comprometido deben esperar a que el token venza; la rotación de claves por parte de la tienda virtual invalida todos los tokens emitidos anteriormente, con el coste de requerir que los clientes existentes vuelvan a emitir sus tokens.

El servidor no sirve código fuente y no actúa como servidor Git. Un punto de acceso provisional en la ruta del protocolo Git devuelve una redirección al repositorio público de GitHub en lugar de enviar operaciones Git. Esta ruta está reservada para una versión futura que pueda ofrecer acceso Git autenticado a repositorios privados.

Véase también

Important Information

Important Information

Corporate structure. PointSav Digital Systems ("PointSav") is a trade name of Woodfine Capital Projects Inc. ("Woodfine"). PointSav does not itself offer, sell, or solicit any security. Any securities offering associated with Woodfine's real-property direct-hold solutions is made exclusively by Woodfine, and only by means of the applicable Private Placement Memorandum.

No investment advice. This wiki's content is provided for engineering, operational, research, and development purposes. Nothing on this wiki constitutes investment advice or a solicitation to invest in any Woodfine partnership or direct-hold solution.

Intellectual property. The PointSav name, trade name, wordmark, and marks, together with all current and future PointSav- and Totebox-branded products, services, and offerings — and the software, source code, documentation, design system, and all related materials — are proprietary to Woodfine and its affiliates, except for components identified as open source. No rights are granted except as expressly set out in a written license or agreement. See TRADEMARK.md in this repository for the full trademark notice.

Open source components. Portions of the platform are made available under permissive open-source licenses identified in the accompanying repository. Use of those components is governed by their respective license terms.

No warranty; informational use. Content on this wiki is provided for general informational purposes only and does not constitute a representation, warranty, or commitment with respect to product functionality, availability, pricing, or roadmap. Some articles describe planned or intended features, capabilities, and milestones — language such as "planned," "intended," "targeted," "may," and "expected" marks this forward-looking content, which is subject to change and does not constitute a commitment regarding future performance.

Confidentiality. Where an article describes an operational or deployment detail that is not intended for public disclosure, that article is not published on this wiki. Content here is general-purpose engineering documentation, not customer-specific configuration.

Jurisdiction. Woodfine Capital Projects Inc. is organized in British Columbia, Canada. References to the Sovereign Data Foundation on this wiki describe a planned or intended initiative only, not a current equity holder or active governance body.

Changes to this notice. PointSav may update this notice from time to time; the version posted on this page governs.

Not a filing system. This wiki is not a securities filing system, an electronic disclosure repository, or a substitute for SEDAR+ or any other regulatory filing system. Formal securities filings are made through the applicable regulatory filing system, not through this wiki.

Full disclaimer. This notice supplements, and does not replace, the full Disclaimers article. In the event of any conflict, the full Disclaimers article governs.

Read the full disclaimer →