Como visualizo ou verifico os arquivos .mobileconfig assinados usando o Terminal?

4

Preciso solucionar problemas com perfis .mobileconfig assinados. Como posso mostrar a assinatura desses arquivos usando o Terminal? Também é possível verificar os certificados que foram usados ​​para assinar o perfil?

Existe uma maneira de gerar o conteúdo XML desses arquivos sem a assinatura?

Eddie Kelley
fonte

Respostas:

9

Os arquivos .mobileconfig da Apple são assinados usando o PKCS7. Os dados do certificado de assinatura podem ser mostrados usando o seguinte comando:

openssl pkcs7 -inform DER -print_certs -in ~/Settings.mobileconfig

Você pode copiar / colar dados do certificado ASCII da saída em um arquivo de texto sem formatação (com uma extensão de arquivo .cer) para criar cópias dos certificados:

-----BEGIN CERTIFICATE-----
MIIElTCCA32gAwIBAgIBAjALBgkqhkiG9w0BAQswga4xQDA+BgNVBAMMN0tlbGxl
eSBDb21wdXRpbmcgT3BlbiBEaXJlY3RvcnkgQ2VydGlmaWNhdGlvbiBBdXRob3Jp
dHkxGTAXBgNVBAoMEEtlbGxleSBDb21wdXRpbmcxJTAjBgNVBAsMHE1BQ09TWCBP
...
q19fbG33zNwRhVHceYMpcbWG1MSqLxnPu4wo75OZFIJCaByZykfpKAzRZl9aa7rD
5bAuzZAziXBW7WWKce2a4hGN804W9RHco5HIGLsQAdg4pLZvENXF1+JNHtBVXjjL
WJrCDKjnCyS1DqmJqijk9KIDM8gP6iLLeQ==
-----END CERTIFICATE-----

O OpenSSL também pode ser usado para verificar o certificado de assinatura de código. Supondo que copiamos o texto / dados do certificado da CA de assinatura ~/CA.crte o certificado de assinatura de código ~/CodeSigner.crt.

openssl verify -CAfile ~/CA.crt ~/CodeSigner.crt

A remoção da assinatura de um arquivo pode ser realizada usando este comando:

openssl smime -inform DER -verify -in ~/Settings.mobileconfig -noverify -out ~/Unsigned.mobileconfig
Eddie Kelley
fonte