Firma de código en macOS
La firma de código es necesaria en macOS para permitir que tu aplicación aparezca en la Apple App Store y para evitar una advertencia de que tu aplicación está dañada y no se puede iniciar cuando se descarga desde el navegador.
Requisitos previos
Sección titulada “Requisitos previos”La firma de código en macOS requiere una cuenta de Apple Developer que puede ser de pago (99$ al año) o del plan gratuito (solo para fines de pruebas y desarrollo). También necesitas un dispositivo Apple en el que realizar la firma de código. Esto es requerido por el proceso de firma y debido a los Términos y Condiciones de Apple.
Firma (Signing)
Sección titulada “Firma”Para configurar la firma de código en macOS debes crear un certificado de firma de código de Apple e instalarlo en el llavero de tu ordenador Mac o exportarlo para su uso en plataformas CI/CD.
Crear un certificado de firma
Sección titulada «Crear un certificado de firma»Para crear un nuevo certificado de firma, debes generar un archivo de Solicitud de Firma de Certificado (CSR) desde tu ordenador Mac. Consulta crear una solicitud de firma de certificado para aprender cómo crear la CSR para la firma de código.
En tu cuenta de Apple Developer, navega a la página de Certificados, Identificadores y Perfiles
y haz clic en el botón Crear un certificado para abrir la interfaz de creación de un nuevo certificado.
Elige el tipo de certificado adecuado (Apple Distribution para enviar aplicaciones a la App Store, y Developer ID Application para distribuir aplicaciones fuera de la App Store).
Sube tu CSR y el certificado será creado.
Descargar el certificado
Sección titulada «Descargar el certificado»En la página de Certificados, Identificadores y Perfiles, haz clic en el certificado que deseas usar y haz clic en el botón Descargar.
Esto guarda un archivo .cer que instala el certificado en el llavero una vez abierto.
Configurar Tauri
Sección titulada «Configurar Tauri»Puedes configurar Tauri para que utilice tu certificado al construir aplicaciones para macOS en tu máquina local o al usar plataformas CI/CD.
Firmar localmente
Sección titulada «Firmar localmente»Con el certificado instalado en el llavero de tu ordenador Mac, puedes configurar Tauri para que lo use para la firma de código.
El nombre de la entrada del llavero del certificado representa la identidad de firma (signing identity), que también se puede encontrar ejecutando:
security find-identity -v -p codesigningEsta identidad se puede proporcionar en la opción de configuración tauri.conf.json > bundle > macOS > signingIdentity o
mediante la variable de entorno APPLE_SIGNING_IDENTITY.
Firmar en plataformas CI/CD
Sección titulada «Firmar en plataformas CI/CD»Para usar el certificado en plataformas CI/CD, debes exportar el certificado a una cadena en base64
y configurar las variables de entorno APPLE_CERTIFICATE y APPLE_CERTIFICATE_PASSWORD:
- Abre la aplicación
Acceso a Llaveros(Keychain Access), haz clic en la pestaña Mis certificados dentro del llavero inicio de sesión (login) y busca la entrada de tu certificado. - Despliega la entrada, haz clic derecho en el elemento de la clave y selecciona
Exportar "$KEYNAME". - Selecciona la ruta para guardar el archivo
.p12del certificado y define una contraseña para el certificado exportado. - Convierte el archivo
.p12a base64 ejecutando el siguiente script en la terminal:
openssl base64 -A -in /path/to/certificate.p12 -out certificate-base64.txt- Asigna el contenido del archivo
certificate-base64.txta la variable de entornoAPPLE_CERTIFICATE. - Asigna la contraseña del certificado a la variable de entorno
APPLE_CERTIFICATE_PASSWORD.
Ejemplo de configuración de GitHub Actions
Secretos requeridos:
APPLE_ID- El correo electrónico de tu Apple IDAPPLE_PASSWORD- La contraseña de tu Apple IDAPPLE_CERTIFICATE- El archivo.p12codificado en base64APPLE_CERTIFICATE_PASSWORD- La contraseña de tu archivo.p12exportadoKEYCHAIN_PASSWORD- La contraseña de tu llavero (keychain)
Consulta la guía oficial de GitHub para aprender cómo configurar secretos.
name: 'build'
on: push: branches: - main
jobs: build-macos: needs: prepare strategy: matrix: include: - args: '--target aarch64-apple-darwin' arch: 'silicon' - args: '--target x86_64-apple-darwin' arch: 'intel' runs-on: macos-latest env: APPLE_ID: ${{ secrets.APPLE_ID }} APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }} steps: - name: Import Apple Developer Certificate env: APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }} run: | echo $APPLE_CERTIFICATE | base64 --decode > certificate.p12 security create-keychain -p "$KEYCHAIN_PASSWORD" build.keychain security default-keychain -s build.keychain security unlock-keychain -p "$KEYCHAIN_PASSWORD" build.keychain security set-keychain-settings -t 3600 -u build.keychain security import certificate.p12 -k build.keychain -P "$APPLE_CERTIFICATE_PASSWORD" -T /usr/bin/codesign security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$KEYCHAIN_PASSWORD" build.keychain security find-identity -v -p codesigning build.keychain - name: Verify Certificate run: | CERT_INFO=$(security find-identity -v -p codesigning build.keychain | grep "Apple Development") CERT_ID=$(echo "$CERT_INFO" | awk -F'"' '{print $2}') echo "CERT_ID=$CERT_ID" >> $GITHUB_ENV echo "Certificate imported." - uses: tauri-apps/tauri-action@v0 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }} APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }} APPLE_SIGNING_IDENTITY: ${{ env.CERT_ID }} with: args: ${{ matrix.args }}Notarización
Sección titulada «Notarización»Para notarizar tu aplicación, debes proporcionar credenciales para que Tauri se autentique con Apple. Esto se puede hacer mediante la API de App Store Connect o mediante tu Apple ID.
- Abre la página de Usuarios y acceso de App Store Connect, selecciona la pestaña Integraciones, haz clic en el botón Añadir y selecciona un nombre y el acceso de Desarrollador.
- Establece la variable de entorno
APPLE_API_ISSUERcon el valor presentado encima de la tabla de claves. - Establece la variable de entorno
APPLE_API_KEYcon el valor de la columna ID de clave de esa tabla. - Descarga la clave privada, lo cual solo se puede hacer una vez y solo es visible tras recargar la página (el botón se muestra en la fila de la tabla para la clave recién creada).
- Establece la variable de entorno
APPLE_API_KEY_PATHcon la ruta del archivo de la clave privada descargada.
- Establece la variable de entorno
APPLE_IDcon el correo electrónico de tu cuenta de Apple. - Establece la variable de entorno
APPLE_PASSWORDcon una contraseña específica de la aplicación para tu cuenta de Apple. - Establece la variable de entorno
APPLE_TEAM_IDcon tu ID de equipo de Apple. Puedes encontrar tu ID de equipo en la página de membresía de tu cuenta.
Después de configurar estas variables de entorno, vuelve a ejecutar tu comando de compilación o empaquetado de Tauri. Por ejemplo, para construir un DMG con pnpm, ejecuta pnpm tauri build --bundles dmg nuevamente. Si necesitas omitir la fijación (stapling) para un pase inicial de notarización, añade --skip-stapling directamente al comando de Tauri, como pnpm tauri build --bundles dmg --skip-stapling.
Firma Ad-Hoc
Sección titulada «Firma Ad-Hoc»Si no deseas proporcionar una identidad autenticada por Apple, pero aún así deseas firmar tu aplicación, puedes configurar una firma ad-hoc.
Esto es útil en dispositivos ARM (Apple Silicon), donde se requiere la firma de código para todas las aplicaciones de Internet.
Para configurar una firma ad-hoc, proporciona la seudoidentidad - a Tauri, p. ej.
"signingIdentity": "-"Para obtener detalles sobre la configuración de la identidad de firma de Tauri, consulta arriba.
© 2026 Colaboradores de Tauri. CC-BY / MIT