Ambiente
Versões do Campaign Classic v7 e v8.
Problema/Sintomas
Ao criar o aplicativo móvel iOS ao tentar testar o certificado do iOS, os seguintes erros são gerados:
Não é possível testar a conexão.\nErro: senha inválida. INT-150012 A consulta HTTP retornou um erro de tipo '' (500) (iRc=-53)
Para obter mais informações sobre o problema, habilite o modo de depuração atualizando a conta externa associada ao iOS Routing e anexando ?debug=true
à conexão do URL do iOS. Por exemplo:
http://localhost:8080/nms/jsp/iosHTTP2.jsp?debug=true
Em seguida, limpe o certificado. Extraia o certificado do cliente em apns_dev_cert.pem a partir dos certificados gerados e não inclua chaves:
openssl pkcs12 -in client_certificate.p12 -out apns_dev_cert.pem -clcerts -nokeys
Onde:
-clcerts
: somente certificados de cliente de saída (não certificados CA)
-nokeys
: nenhuma chave privada será gerada
Extraia a chave em apns_dev_key.pem dos certificados gerados sem descriptografá-la e sem certificados:
openssl pkcs12 -in client_certificate.p12 -out apns_dev_key.pem -nocerts -nodes
Onde:
-nocerts:
nenhum certificado será emitido
-nodes:
não criptografar as chaves privadas
Gere novamente um arquivo de certificado p12 a partir da chave e do certificado. A higienização permite apenas manter o que é necessário para conectar:
openssl pkcs12 -export -inkey apns_dev_key.pem -in apns_dev_cert.pem -out new_certificate.p12
Causa
O seguinte erro significa que a integridade do certificado é inválida e as etapas de limpeza são necessárias para corrigir a integridade do certificado:
2023-04-13-03:50:13.857-05 001FF206 001FF22D 1 log de informações [
iOS Connector]
doTestConnection 2023-04-13 03:50:13.857-05 001FF206 001FF22D 1 log de informações [
iOS Connector]
limpar cache 2023-04-13 03:50:13.858-05 001FF206 001FF22D 1 log de informações [
iOS Connector]
validateCertificates 2023-04-13 03:50:13.860-05 001FF206 001FF22D 1 log de informações [
iOS Connector]
Criação de p12: Falha na verificação de integridade de IOException: java.security.InvalidAlgorithmParameterException: IterationCount deve ser um número positivo