Checkout Cielo - certificate error

2

I'm deploying your java checkout solution on my local machine for testing purposes. The code I'm using is available in the Sky Developer area. .

Follow the code:

  public String envia() {

    String responseLine = "";
    try {
        String json = "{"
                + "    \"OrderNumber\": \"12344\","
                + "    \"SoftDescriptor\": \"Nome que aparecerá na fatura\","
                + "    \"Cart\": {"
                + "        \"Discount\": {"
                + "            \"Type\": \"Percent\","
                + "            \"Value\": 10"
                + "        },"
                + "        \"Items\": ["
                + "            {"
                + "                \"Name\": \"Nome do produto\","
                + "                \"Description\": \"Descrição do produto\","
                + "                \"UnitPrice\": 100,"
                + "                \"Quantity\": 2,"
                + "                \"Type\": \"Asset\","
                + "                \"Sku\": \"Sku do item no carrinho\","
                + "                \"Weight\": 200"
                + "            }"
                + "        ]"
                + "    },"
                + "    \"Shipping\": {"
                + "        \"Type\": \"Correios\","
                + "        \"SourceZipCode\": \"14400000\","
                + "        \"TargetZipCode\": \"11000000\","
                + "        \"Address\": {"
                + "            \"Street\": \"Endereço de entrega\","
                + "            \"Number\": \"123\","
                + "            \"Complement\": \"\","
                + "            \"District\": \"Bairro da entrega\","
                + "            \"City\": \"Cidade de entrega\","
                + "            \"State\": \"SP\""
                + "        },"
                + "        \"Services\": ["
                + "            {"
                + "                \"Name\": \"Serviço de frete\","
                + "                \"Price\": 123,"
                + "                \"Deadline\": 15"
                + "            }"
                + "        ]"
                + "    },"
                + "    \"Payment\": {"
                + "        \"BoletoDiscount\": 0,"
                + "        \"DebitDiscount\": 0,"
                + "        \"RecurrentPayment\": {"
                + "            \"Interval\": \"Monthly\","
                + "            \"EndDate\": \"2015-12-31\""
                + "         }"
                + "     },"
                + "     \"Customer\": {"
                + "         \"Identity\": 11111111111,"
                + "         \"FullName\": \"Fulano Comprador da Silva\","
                + "         \"Email\": \"[email protected]\","
                + "         \"Phone\": \"11999999999\""
                + "     },"
                + "     \"Options\": {"
                + "         \"AntifraudEnabled\": false"
                + "     }"
                + "}";

        BufferedReader bufferedReader;

        URL url = new URL("https://cieloecommerce.cielo.com.br/api/public/v1/orders");

        HttpURLConnection connection = (HttpURLConnection) url.openConnection();
        connection.setRequestMethod("POST");
        connection.addRequestProperty("MerchantId", "xxxx-xxxx-xxxx-xxxx-xxxx");
        connection.setRequestProperty("Content-Type", "application/json; charset=utf-8");
        connection.setDoOutput(true);

        DataOutputStream jsonRequest = new DataOutputStream(
                connection.getOutputStream());

        jsonRequest.writeBytes(json);
        jsonRequest.flush();
        jsonRequest.close();

        bufferedReader = new BufferedReader(new InputStreamReader(
                connection.getInputStream()));

        StringBuffer jsonResponse = new StringBuffer();

        while ((responseLine = bufferedReader.readLine()) != null) {
            jsonResponse.append(responseLine);
        }

        bufferedReader.close();

        connection.disconnect();
    } catch (Exception ex) {
        return ex.getMessage();
    }
    return responseLine;
}

Running the code returns the following error:

  

sun.security.validator.ValidatorException: PKIX path building failed:   sun.security.provider.certpath.SunCertPathBuilderException: unable to   find valid certification path to requested target

I make it clear that I imported the ecommerce.cielo.com.br certificate into the browser as indicated. In addition, I imported the other certificates, Raiz.crt and Intermediaria.crt , plus ecommerce.cielo.com.br.crt to my TrustStore with the following commands:

keytool -keystore cacerts -import -alias ecommerce -file ecommerce.cielo.com.br.crt -trustcacerts

keytool -keystore cacerts -import -alias intermediaria -file Intermediaria.crt -trustcacerts

keytool -keystore cacerts -import -alias raiz -file Raiz.crt -trustcacerts

What can I do to remedy the error already described?

    
asked by anonymous 24.03.2016 / 18:29

1 answer

-2
#!/bin/bash
if [ $EUID != 0 ]; then
    echo 'Você precisa ser root para instalar certificados.'
    exit $?
fi

# Diretório onde os certificados serão instalados
cert_path='openssl version -d|sed 's/.*\"\(.*\)\"//g''/certs

# Path para o certificado da Cielo
ecommerce=$cert_path/ecommerce-cielo.crt
# Path para o certificado da intermediária
intermediaria=$cert_path/intermediaria-cielo.ca
# Path para o certificado raiz
raiz=$cert_path/raiz-cielo.crt

# Instalação do certificado raiz
echo "Criando certificado raiz em $raiz"

(cat << 'RAIZ-CIELO'
-----BEGIN CERTIFICATE-----
MIIEkTCCA3mgAwIBAgIERWtQVDANBgkqhkiG9w0BAQUFADCBsDELMAkGA1UEBhMC
VVMxFjAUBgNVBAoTDUVudHJ1c3QsIEluYy4xOTA3BgNVBAsTMHd3dy5lbnRydXN0
Lm5ldC9DUFMgaXMgaW5jb3Jwb3JhdGVkIGJ5IHJlZmVyZW5jZTEfMB0GA1UECxMW
KGMpIDIwMDYgRW50cnVzdCwgSW5jLjEtMCsGA1UEAxMkRW50cnVzdCBSb290IENl
cnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTA2MTEyNzIwMjM0MloXDTI2MTEyNzIw
NTM0MlowgbAxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMTkw
NwYDVQQLEzB3d3cuZW50cnVzdC5uZXQvQ1BTIGlzIGluY29ycG9yYXRlZCBieSBy
ZWZlcmVuY2UxHzAdBgNVBAsTFihjKSAyMDA2IEVudHJ1c3QsIEluYy4xLTArBgNV
BAMTJEVudHJ1c3QgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTCCASIwDQYJ
KoZIhvcNAQEBBQADggEPADCCAQoCggEBALaVtkNC+sZtKm9I35RMOVcF7sN5EUFo
Nu3s/poBj6E4KPz3EEZmLk0eGrEaTsbRwJWIsMn/MYszA9u3g3s+IIRe7bJWKKf4
4LlAcTfFy0cOlypowCKVYhXbR9n10Cv/gkvJrT7eTNuQgFA/CYqEAOwwCj0Yzfv9
KlmaI5UXLEWeH25DeW0MXJj+SKfFI0dcXv1u5x609mhF0YaDW6KKjbHjKYD+JXGI
rb68j6xSlkuqUY3kEzEZ6E5Nn9uss2rVvDlUccp6en+Q3X0dgNmBu1kmwhH+5pPi
94DkZfs0Nw4pgHBNrziGLp5/V6+eF67rHMsoIV+2HNjnogQi+dPa2MsCAwEAAaOB
sDCBrTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zArBgNVHRAEJDAi
gA8yMDA2MTEyNzIwMjM0MlqBDzIwMjYxMTI3MjA1MzQyWjAfBgNVHSMEGDAWgBRo
kORnpKZTgMeGZqTx90tD+4S9bTAdBgNVHQ4EFgQUaJDkZ6SmU4DHhmak8fdLQ/uE
vW0wHQYJKoZIhvZ9B0EABBAwDhsIVjcuMTo0LjADAgSQMA0GCSqGSIb3DQEBBQUA
A4IBAQCT1DCw1wMgKtD5Y+iRDAUgqV8ZyntyTtSx29CW+1RaGSwMCPeyvIWonX9t
O1KzKtvn1ISMY/YPyyYBkVBs9F8U4pN0wBOeMDpQ47RgxRzwIkSNcUesyBrJ6Zua
AGAT/3B+XxFNSRuzFVJ7yVTav52Vr2ua2J7p8eRDjeIRRDq/r72DQnNSi6q7pynP
9WQcCk3RvKqsnyrQ/39/2n3qse0wJcGE2jTSW3iDVuycNsMm4hH2Z0kdkquM++v/
eu6FSqdQgPCnXEqULl8FmTxSQeDNtGPPAUO6nIPcj2A781q0tHuu2guQOHXvgR1m
0vdXcDazv/wor3ElhVsT/h5/WrQ8
-----END CERTIFICATE-----
RAIZ-CIELO
) > $raiz

# Criando um link simbólico para o certificado utilizando seu hash
ln -s $raiz $cert_path/'openssl x509 -noout -hash -in $raiz'.0 &> /dev/null

# Verificando se o certificado foi instalado corretamente
openssl verify -CApath $cert_path $raiz

# Instalação do certificado da intermediária
echo "Criando certificado da intermediária em $intermediaria"

(cat << 'INTERMEDIARIA-CIELO'
-----BEGIN CERTIFICATE-----
MIIFDjCCA/agAwIBAgIMDulMwwAAAABR03eFMA0GCSqGSIb3DQEBCwUAMIG+MQsw
CQYDVQQGEwJVUzEWMBQGA1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2Vl
IHd3dy5lbnRydXN0Lm5ldC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMDkg
RW50cnVzdCwgSW5jLiAtIGZvciBhdXRob3JpemVkIHVzZSBvbmx5MTIwMAYDVQQD
EylFbnRydXN0IFJvb3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBHMjAeFw0x
NTEwMDUxOTEzNTZaFw0zMDEyMDUxOTQzNTZaMIG6MQswCQYDVQQGEwJVUzEWMBQG
A1UEChMNRW50cnVzdCwgSW5jLjEoMCYGA1UECxMfU2VlIHd3dy5lbnRydXN0Lm5l
dC9sZWdhbC10ZXJtczE5MDcGA1UECxMwKGMpIDIwMTIgRW50cnVzdCwgSW5jLiAt
IGZvciBhdXRob3JpemVkIHVzZSBvbmx5MS4wLAYDVQQDEyVFbnRydXN0IENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5IC0gTDFLMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A
MIIBCgKCAQEA2j+W0E25L0Tn2zlem1DuXKVh2kFnUwmqAJqOV38pa9vH4SEkqjrQ
jUcj0u1yFvCRIdJdt7hLqIOPt5EyaM/OJZMssn2XyP7BtBe6CZ4DkJN7fEmDImiK
m95HwzGYei59QAvS7z7Tsoyqj0ip/wDoKVgG97aTWpRzJiatWA7lQrjV6nN5ZGhT
JbiEz5R6rgZFDKNrTdDGvuoYpDbwkrK6HIiPOlJ/915tgxyd8B/lw9bdpXiSPbBt
LOrJz5RBGXFEaLpHPATpXbo+8DX3Fbae8i4VHj9HyMg4p3NFXU2wO7GOFyk36t0F
ASK7lDYqjVs1/lMZLwhGwSqzGmIdTivZGwIDAQABo4IBDDCCAQgwDgYDVR0PAQH/
BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8CAQAwMwYIKwYBBQUHAQEEJzAlMCMGCCsG
AQUFBzABhhdodHRwOi8vb2NzcC5lbnRydXN0Lm5ldDAwBgNVHR8EKTAnMCWgI6Ah
hh9odHRwOi8vY3JsLmVudHJ1c3QubmV0L2cyY2EuY3JsMDsGA1UdIAQ0MDIwMAYE
VR0gADAoMCYGCCsGAQUFBwIBFhpodHRwOi8vd3d3LmVudHJ1c3QubmV0L3JwYTAd
BgNVHQ4EFgQUgqJwdN28Uz/Pe9T3zX+nYMYKTL8wHwYDVR0jBBgwFoAUanImetAe
733nO2lR1GyNn5ASZqswDQYJKoZIhvcNAQELBQADggEBADnVjpiDYcgsY9NwHRkw
y/YJrMxp1cncN0HyMg/vdMNY9ngnCTQIlZIv19+4o/0OgemknNM/TWgrFTEKFcxS
BJPok1DD2bHi4Wi3Ogl08TRYCj93mEC45mj/XeTIRsXsgdfJghhcg85x2Ly/rJkC
k9uUmITSnKa1/ly78EqvIazCP0kkZ9Yujs+szGQVGHLlbHfTUqi53Y2sAEo1GdRv
c6N172tkw+CNgxKhiucOhk3YtCAbvmqljEtoZuMrx1gL+1YQ1JH7HdMxWBCMRON1
exCdtTix9qrKgWRs6PLigVWXUX/hwidQosk8WwBD9lu51aX8/wdQQGcHsFXwt35u
Lcw=
-----END CERTIFICATE-----
INTERMEDIARIA-CIELO
) > $intermediaria

# Criando um link simbólico para o certificado utilizando seu hash
ln -s $intermediaria $cert_path/'openssl x509 -noout -hash -in $intermediaria'.0 &> /dev/null

# Verificando se o certificado foi instalado corretamente
openssl verify -CApath $cert_path $intermediaria

# Instalação do certificado Cielo
echo "Criando certificado ecommerce da Cielo em $ecommerce"

(cat << 'ECOMMERCE-CIELO'
-----BEGIN CERTIFICATE-----
MIIHZTCCBk2gAwIBAgIRAL7du6n0o80SAAAAAFDhZoAwDQYJKoZIhvcNAQELBQAw
gboxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1FbnRydXN0LCBJbmMuMSgwJgYDVQQL
Ex9TZWUgd3d3LmVudHJ1c3QubmV0L2xlZ2FsLXRlcm1zMTkwNwYDVQQLEzAoYykg
MjAxMiBFbnRydXN0LCBJbmMuIC0gZm9yIGF1dGhvcml6ZWQgdXNlIG9ubHkxLjAs
BgNVBAMTJUVudHJ1c3QgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkgLSBMMUswHhcN
MTgwNDAzMTM0NDQ1WhcNMjAwNDAzMTQxNDQ0WjBwMQswCQYDVQQGEwJCUjESMBAG
A1UECBMJU2FvIFBhdWxvMRAwDgYDVQQHEwdCYXJ1ZXJpMRMwEQYDVQQKEwpDSUVM
TyBTLkEuMSYwJAYDVQQDDB0qLmNpZWxvZWNvbW1lcmNlLmNpZWxvLmNvbS5icjCC
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANQTiq5AHCWsui3Zp4Y/I0D5
HOkyHHd7eNSDMQlHtBzT/LgAylppfqX0jUL+ZuQG2Ryjip1kSXR6Lt5+mDlTear2
YG3qxEAt6RbNyr+u+FqBW+DPlYOQt0SoMXm8cwb5WLBA7w0cvnDy3xS3r41APqEW
qwhdBXrDS8jZPIeZ93vjV0I/A4EJWP5pS0rUkrfFEnWNUmmeT0cFW+xq+dNX8Y++
KALXEGXsLUhvySD+SEV3ScvxH0QmrfKdWACJ1Nk3IRd8GKtx24NPSszTtoZ33Yw6
0e/OVFYjwytoWKQnlT2leXqa1Ah5Wh1cy1fzmlKqnaqPnvxN3VvXVku+hSKp8UMC
AwEAAaOCA60wggOpMEUGA1UdEQQ+MDyCHSouY2llbG9lY29tbWVyY2UuY2llbG8u
Y29tLmJyghtjaWVsb2Vjb21tZXJjZS5jaWVsby5jb20uYnIwggH4BgorBgEEAdZ5
AgQCBIIB6ASCAeQB4gB2AFWB1MIWkDYBSuoLm1c8U/DA5Dh4cCUIFy+jqh0HE9MM
AAABYovcLfUAAAQDAEcwRQIgPM97TrssuPguwuXNltLfKn2ZOTALGl7WiNb2rW13
GkoCIQDsyBCZWBkw7O+esYLXdaf0/UZx4BvtuyfSHODDRheW4wB2ALvZ37wfinG1
k5Qjl6qSe0c4V5UKq1LoGpCWZDaOHtGFAAABYovcLcEAAAQDAEcwRQIhAM1NPdVH
wDGPYB8A0TnCT2Fa6QzCslzidVzU1xf2baQjAiBknTkVSia9KuN4+xRcmsmiF11C
G5hGKl4K9jzB+mJYcAB3AKS5CZC0GFgUh7sTosxncAo8NZgE+RvfuON3zQ7IDdwQ
AAABYovcLcgAAAQDAEgwRgIhAIQxScdEZkCsuW8o7CMkI01Mox2ztS3xE9Ee+Uem
jpWkAiEA+i18Teu6ubanYwWXLPk6udwbAFfYilsP2SIzXWLQoCgAdwBWFAaaL9fC
7NP14b1Esj7HRna5vJkRXMDvlJhV1onQ3QAAAWKL3C4fAAAEAwBIMEYCIQDgidOP
NTe65rpnkajQAU76WlEDNn0+zkRGQG4HIGgZGgIhAIW+2wrwWwze5CUhoCGA1Yyd
RnUzSa7Dkr0zU21Usi8vMA4GA1UdDwEB/wQEAwIFoDAdBgNVHSUEFjAUBggrBgEF
BQcDAQYIKwYBBQUHAwIwMwYDVR0fBCwwKjAooCagJIYiaHR0cDovL2NybC5lbnRy
dXN0Lm5ldC9sZXZlbDFrLmNybDBLBgNVHSAERDBCMDYGCmCGSAGG+mwKAQUwKDAm
BggrBgEFBQcCARYaaHR0cDovL3d3dy5lbnRydXN0Lm5ldC9ycGEwCAYGZ4EMAQIC
MGgGCCsGAQUFBwEBBFwwWjAjBggrBgEFBQcwAYYXaHR0cDovL29jc3AuZW50cnVz
dC5uZXQwMwYIKwYBBQUHMAKGJ2h0dHA6Ly9haWEuZW50cnVzdC5uZXQvbDFrLWNo
YWluMjU2LmNlcjAfBgNVHSMEGDAWgBSConB03bxTP8971PfNf6dgxgpMvzAdBgNV
HQ4EFgQUmFmdGzePSxPIAWp95Oa3sbynA6kwCQYDVR0TBAIwADANBgkqhkiG9w0B
AQsFAAOCAQEAfNEtXf8WaSb4ykhdp1z8VCBraGOsaeTvm2To9YmAUB9hBSALzIV5
QhdD855kcss/ZGrkszppaW356MddWPJ39qqqe1jWDATzjg5cB1wzCNJQfvijGw23
BKd60SbihgYG3gNg952qa5n46wskIQQfMR2lLTZXcCpgxUmvRL0zPgciUMhShUoV
HctzFk2H/9Tm0g/xR2ugwStecRR5QKCpLLPIGQIm1e3QMuvlJ+rpacOzVQj9rJR1
FbfQOB8Yl5PMpAH4Zhl/CQA/7nGLRJ2nPjXwP9K4Un14SJZZ2YwHjEOReQ5kf0if
TxhuhMhrG/LflVvPwJuUPDpJGWVFHnJQcQ==
-----END CERTIFICATE-----
ECOMMERCE-CIELO
) > $ecommerce

# Criando um link simbólico para o certificado utilizando seu hash
ln -s $ecommerce $cert_path/'openssl x509 -noout -hash -in $ecommerce'.0 &> /dev/null

# Verificando se o certificado foi instalado corretamente
openssl verify -CApath $cert_path $ecommerce
    
12.08.2018 / 20:07