O erro "No trusted certificate found" indica que o certificado da entidade emissor do servidor (no caso, pre-reinf.receita.economia.gov.br) não é confiável ou não está presente no truststore (cacerts) da instalação Java que você está usando. Para resolver esse problema e permitir a comunicação com o servidor usando o seu certificado digital, você pode seguir os passos abaixo:
1. **Obtenha o certificado do servidor:**
Você precisará obter o certificado digital do servidor pre-reinf.receita.economia.gov.br. Isso pode ser feito de várias maneiras, mas uma maneira simples é usar o comando `openssl` para baixar o certificado:
```shell
openssl s_client -connect pre-reinf.receita.economia.gov.br:443 < /dev/null | openssl x509 > pre-reinf.crt
```
2. **Importe o certificado do servidor no truststore (cacerts):**
Você deve importar o certificado obtido no passo anterior para o truststore da instalação Java que está sendo usada para se comunicar com a API. Use o comando `keytool` para fazer isso:
```shell
keytool -import -trustcacerts -alias pre-reinf-cert -file pre-reinf.crt -keystore $JAVA_HOME/lib/security/cacerts
```
Onde `$JAVA_HOME` é o caminho para a sua instalação Java.
Você provavelmente será solicitado a fornecer a senha do truststore (a senha padrão é "changeit") e confirmar se deseja confiar no certificado. Digite "yes" quando for solicitado.
3. **Verifique se o certificado foi importado corretamente:**
Você pode listar os certificados no truststore para verificar se o certificado do servidor foi importado com sucesso:
```shell
keytool -list -keystore $JAVA_HOME/lib/security/cacerts
```
Verifique se o certificado `pre-reinf-cert` agora está na lista.
4. **Reinicie a aplicação:**
Após importar o certificado no truststore, reinicie a aplicação que está fazendo a chamada para a API. Isso garantirá que a aplicação use o truststore atualizado com o novo certificado.
Com esses passos, você deve conseguir permitir a comunicação com o servidor pre-reinf.receita.economia.gov.br usando o seu certificado digital. Certifique-se de que está trabalhando em um ambiente de desenvolvimento ou teste antes de fazer alterações nos truststores em um ambiente de produção. Além disso, tome medidas adequadas para proteger suas senhas e certificados.