Cómo solicitar y usar un certificado de firma de código
Introducción al certificado de firma de código
El certificado de firma de código se utiliza para firmar digitalmente el código del software, con el fin de verificar la identidad del emisor del software y asegurar la integridad del código. Garantiza a los usuarios que el software proviene de una fuente confiable y que no ha sido alterado o modificado maliciosamente después de su publicación. Esto es crucial para establecer la confianza del usuario y prevenir la propagación de software malicioso.
Usos del certificado de firma de código:
- Verificación de la identidad del emisor del software: El certificado de firma de código verifica la fuente del software, asegurando a los usuarios que proviene de un desarrollador u organización legítima.
- Garantizar la integridad del código: La firma digital puede demostrar que el código no ha sido modificado desde que fue firmado, previniendo la inyección o manipulación de software malicioso.
- Incrementar la confianza del usuario: El software firmado puede eliminar las advertencias de seguridad emitidas por el sistema operativo o el navegador, aumentando la confianza del usuario y animándolo a instalar y usar el software.
- Prevención de la propagación de software malicioso: La firma de código puede ayudar a los usuarios a identificar y evitar la instalación de software potencialmente malicioso que no esté firmado o que provenga de fuentes desconocidas.
Solicitar un certificado de firma de código a través de ServBay
Abrir el panel de gestión de certificados SSL: En la barra lateral de ServBay, haga clic en "SSL Certificates" para ingresar a la plataforma de gestión de certificados.
Hacer clic en el botón de agregar: Haga clic en el botón "+" en la esquina superior derecha.
Llenar la información del certificado: En la página "Request Certificate", complete la siguiente información:
- Common Name: Ingrese el nombre de su organización o su nombre personal. Por ejemplo
ServBay, LLC
oSam NG
. - Usage Purpose: Seleccione el propósito del certificado; elija
Code Signing
. - Request Method: Elija
ServBay CA
. - Issuer: Seleccione
ServBay User CA
. - Algorithm: Elija el algoritmo de cifrado, por ejemplo,
ECC
oRSA
. - Key Length: Elija la longitud de la clave, por ejemplo,
384
o2048
. - Password: ¡Importante! Configure una contraseña para proteger su clave privada. Recuerde esta contraseña, ya que no podrá recuperarla si se pierde. La contraseña predeterminada es
ServBay.dev
.
- Common Name: Ingrese el nombre de su organización o su nombre personal. Por ejemplo
Hacer clic en el botón "Request": Una vez que haya completado todos los pasos, haga clic en el botón "Request" para enviar la solicitud del certificado. ServBay emitirá automáticamente el certificado.
Exportación y uso del certificado
- Ingrese al panel de gestión de certificados SSL.
- Encuentre el certificado de firma de código emitido.
- Hacer clic en el botón de operaciones: Haga clic en el ícono de exportación a la derecha del certificado.
- Seleccione el directorio de exportación: En la ventana emergente, elija la ubicación donde se guardará el certificado exportado.
- Use la herramienta de firma de código: Importe el archivo
.p12
exportado en su herramienta de firma de código (por ejemplo,codesign
en macOS,signtool
en Windows, etc.) y use la contraseña configurada previamente para desbloquearlo. Después de eso, podrá usar el certificado para firmar digitalmente su código.
Ejemplo de cómo firmar el código con un certificado de firma de código
$ gcc test.c -o /tmp/test # Generar un archivo binario de prueba con gcc
$ security find-identity -v -p codesigning # Buscar certificados disponibles para firma de código
1) ...
2) 99C183BC3796067FAFBA6F232D1C3C3425DAABDA "ServBay, LLC"
2 valid identities found
$ codesign -f -s "99C183BC3796067FAFBA6F232D1C3C3425DAABDA" --timestamp /tmp/test # Firmar el binario usando el ID de certificado encontrado
test: replacing existing signature
$ codesign -dvvv /tmp/test # Verificar la firma para asegurar que es correcta
Executable=/tmp/test
Identifier=test
Format=Mach-O thin (arm64)
CodeDirectory v=20400 size=445 flags=0x0(none) hashes=9+2 location=embedded
Hash type=sha256 size=32
CandidateCDHash sha256=777e597ce37ad27e7b90d2aaaeeb9f1449170639
CandidateCDHashFull sha256=777e597ce37ad27e7b90d2aaaeeb9f1449170639a73e8090b1d9d1245d7f191b
Hash choices=sha256
CMSDigest=777e597ce37ad27e7b90d2aaaeeb9f1449170639a73e8090b1d9d1245d7f191b
CMSDigestType=2
CDHash=777e597ce37ad27e7b90d2aaaeeb9f1449170639
Signature size=7247
Authority=ServBay, LLC
Authority=ServBay Public CA - ECC Code Signing
Authority=ServBay Public CA - ECC Root
Timestamp=Nov 7, 2024 at 18:26:48
Info.plist=not bound
TeamIdentifier=not set
Sealed Resources=none
Internal requirements count=1 size=80
$ echo "abcde" > test # Intentar alterar la firma del binario
$ codesign -dvvv test # Verificar nuevamente la firma
test: code object is not signed at all
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Renovación del certificado
El certificado de firma de código de ServBay tiene una validez de 800 días. Antes de que caduque, puede hacer clic en el botón de la derecha para renovarlo. Cada renovación extiende la validez por 800 días desde la fecha actual.
Eliminación del certificado
- Ingrese al panel de gestión de certificados SSL.
- Encuentre el certificado que desea eliminar.
- Hacer clic en el botón de operaciones: Haga clic en el ícono de basura a la derecha del certificado.
- Confirmar eliminación: En el menú emergente, seleccione "Delete" y confirme la operación de eliminación.
Resumen
Espero que este documento le haya ayudado a solicitar y usar un certificado de firma de código en la plataforma de ServBay. Si tiene alguna pregunta, por favor contacte al servicio al cliente de ServBay para obtener ayuda.