• ddd
  • NEWBIE
  • 0 Points
  • Member since 2011

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 1
    Questions
  • 4
    Replies

Hi,

 

I am making a callout from Apex VF page to an external application (Tibco) which resides in the permises. Since we are in secure environment i got  the WSDL and CERT. Consumed the WSDL and included the cert in my apex class.

 

I am getting  System.CalloutException: IO Exception: DER input, Integer tag error. I saw at some blogs asking to convert the certificate to  PKCS12 format if we get that error.

 

Can some one explain me the way out.

 

Thanks & Regards

Kris

  • September 08, 2011
  • Like
  • 0

Hi,

 

I am making a callout from Apex VF page to an external application (Tibco) which resides in the permises. Since we are in secure environment i got  the WSDL and CERT. Consumed the WSDL and included the cert in my apex class.

 

I am getting  System.CalloutException: IO Exception: DER input, Integer tag error. I saw at some blogs asking to convert the certificate to  PKCS12 format if we get that error.

 

Can some one explain me the way out.

 

Thanks & Regards

Kris

  • September 08, 2011
  • Like
  • 0

hi,

i am getting following exception "System.CalloutException: IO Exception: DER input, Integer tag error" while consuming Right90(appexcehange appln)WSDL.

can anyone suggest what to do ?

All,

       I tried a invoking a webservice from the sfdc environment. I am getting the below error message -  IO Exception: DER input, Integer tag error 

 

Details - 

 

In my Class i included the Certificate and Passed the Basic Authorization also.  Below is the Class i wrote -

 

 

    public void callWebService()
        {     
        //Create and set the request data
        WMWebService.eventInput data = new WMWebService.eventInput();
        data.outage_number = outage_number;
          

        String username = 'SFDC';
        String password = 'SFDC';
        
        WMWebService.SDFC_WebService_Service_Port webclient = new WMWebService.SDFC_WebService_Service_Port webclient();
        webclient.inputHttpHeaders_x=new Map<String,String>();
        Blob headerValue = Blob.valueOf(username + ':' + password);
        String authorizationHeader = 'Basic ' +EncodingUtil.base64Encode(headerValue);
        System.debug('Authorization - '+authorizationHeader);
        webclient.clientCertPasswd_x = '';
        webclient.inputHttpHeaders_x.put('Authorization','authorizationHeader');
        webclient.clientCert_x =
        'MIIE7TCCA9WgAwIBAgIQRFHQafx0RAOvfWR70P5XwTANBgkqhkiG9w0BAQUFADBr'+
        'MQswCQYDVQQGEwJVUzEtMCsGA1UEChMkVHJ1c3RlZCBTZWN1cmUgQ2VydGlmaWNh'+
        'dGUgQXV0aG9yaXR5MS0wKwYDVQQDEyRUcnVzdGVkIFNlY3VyZSBDZXJ0aWZpY2F0'+
        'ZSBBdXRob3JpdHkwHhcNMDkwOTE0MDAwMDAwWhcNMTAwOTE0MjM1OTU5WjCB6DEL'+
        'MAkGA1UEBhMCVVMxEzARBgNVBBETCjA2ODI4LTAwMDExCzAJBgNVBAgTAkNUMRIw'+
        'EAYDVQQHEwlGYWlyZmllbGQxHTAbBgNVBAkTFDMxMzUgRWFzdG9uIFR1cm5waWtl'+
        'MQswCQYDVQQKEwJHRTEXMBUGA1UECxMOSW5mcmFzdHJ1Y3R1cmUxLTArBgNVBAsT'+
        'JFByb3ZpZGVkIGJ5IEdlbmVyYWwgRWxlY3RyaWMgQ29tcGFueTEXMBUGA1UECxMO'+
        'RW50ZXJwcmlzZSBTU0wxFjAUBgNVBAMTDTE5Mi44OC4yMTIuODIwgZ8wDQYJKoZI'+
        'hvcNAQEBBQADgY0AMIGJAoGB43AMEUbg+Q15PNvtN8yrmMNAf0X3KWPFrmJd1M0h'+
        'DQaA30nCkEOeJVZfRgjfer343MuNsPHzdwctCf7jlNFK4EemuTwqVobBrtC4DraI'+
        '6Q4JXDi5v7mdTh1Vg1Fc8SEsDjlJ1fGUTrWzO4kvjYUg2j8aMi/u0/hzLUxbHshv'+
        'prC/AgMBAAGjggGRMIIBjTAfBgNVHSMEG433DAWgBQxlflM+yx4iHjtrODIv/ZeZ'+
        '5jAdBgNVHQ4EFgQUgd3Um3c1uWDjO7Zf2oNGEfGw4HcwDgYDVR0PAQH/BAQDAgWg'+
        'MAwGA1UdEwEB/wQCMAAwHQYDVR0lB5353BYwFAYIKwYBBQUHAwEGCCUFBwMCMEsG'+
        'A1UdIAREMEIwQAYLKwYBBAGyMQE54CAggwMTAvBggrBgEFBQcCRYjaHR0DovL3d3'+
        'dy5jc2N0cnVzdGVkc2VjdXJlLmNvbS9jcHMwgaYGA1UdHwSBnjCBmzBLoEmgR4ZF'+
        'aHR0cDovL2NybC5jc2N0cnVzd54GVkc2VjdXJlLmNvbS9UcnVzdGVkU2VjdlQ2Vy'+
        'dGlmaWNhdGVBdXRob3JpdHkuY3JsMEygSqBIhkZodHRwOi8vY3JsMi5jc2N0cnVz'+
        'dGVkc2VjdXJlLmNvbS9Ucn932VzdGVkU2VjdXJlQ2VydGlmaWNhdGVBdXRob3Hku'+
        'Y3JsMBgGA1UdEQQRMA+CDTE5Mi44OC4yMTIuODIwDQYJKoZIhvcNAQEFBQADggEB'+
        'AH5EAwTv4EDqpHWoYfonUikaYtmJCCmrTBsNB3rFFLg/bHQPPS58/8Qozok5MCXy'+
        'BpvIPMf5mg1UIw0mwKTPPe5K4UmlzgnyZEs2pWOLIIeu1J5zOE5Pqh/45XSzMo+N'+
        'M8dy7LY4065zhzTOPN1c0o5fgG0QeVghUBs6XRvrFQKAW9xyZx8pT7GzHEEn6Hbq'+
        'c4HgXoYSxhc3lxqiMGJVxBIKtnqbghby56432PkBejcFLz5FAtPdRQLd7dT0t3NM'+
        'RNtpmliq+Ib6j20P+Zj7CypUF6GcP+QBjTH+aw9Qsd8sG8a33GwIm5/eOmLyPJr0'+
        '3lK9AH6CfVdNeq5pMv2ojsk=';

        WMWebService.return_x response = webclient.processEvents(data);
}

 

 

Don't know what went wrong...Any ideas ??

 

Thanks,
Sanjay

Hi

 

i have a client certificate provided:

 

-----BEGIN CERTIFICATE-----
MIIEwDCCA6igAwIBAgIEOGPLSjANBgkqhkiG9w0BAQUFADCBtDEUMBIGA1UEChML
RW50cnVzdC5uZXQxQDA+BgNVBAsUN3d3dy5lbnRydXN0Lm5ldC9DUFNfMjA0OCBp
bmNvcnAuIGJ5IHJlZi4gKGxpbWl0cyBsaWFiLikxJTAjBgNVBAsTHChjKSAxOTk5
IEVudHJ1c3QubmV0IExpbWl0ZWQxMzAxBgNVBAMTKkVudHJ1c3QubmV0IENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5ICgyMDQ4KTAeFw0wODExMDcyMDM4NDFaFw0xNDA3
MDEwNDAwMDBaMGMxCzAJBgNVBAYTAlVTMRUwEwYDVQQKEwxEaWdpQ2VydCBJbmMx
GTAXBgNVBAsTEHd3dy5kaWdpY2VydC5jb20xIjAgBgNVBAMTGURpZ2lDZXJ0IEds
b2JhbCBDQSAoMjA0OCkwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDE
PLzMuupi5p5CI6+0shGuYo3ZodOPzBRyGe2Z9v3eXbtZwLDCr2qZUpVXCzX/4Yb6
r6LDwQVlJyB2LwpUJXzqK92VQVebDzvPR+gBBozFREj8By7zcoMwUZSeaTqDqYeQ
FNlexKJ4j8E+1BlhDhrn3BqVIEG+bxfauBxB7piw+tcdNT8WpwQoE109BXWaLoae
LLAXhyBYV+/h6lVguCxwIawpYwwQ/GC8+dUcN2TVtPseqyY5Roiky80wZ8AmeeXK
aPki1+XSsbtITJsLmFtCkuXS7Q5HMPrdJ1ZjaqUBx46v8E47G1UVRNU+TVce4ZHq
uKCPzjpjX5aJugg+/kS7AgMBAAGjggEoMIIBJDAOBgNVHQ8BAf8EBAMCAQYwEgYD
VR0TAQH/BAgwBgEB/wIBADAnBgNVHSUEIDAeBggrBgEFBQcDAQYIKwYBBQUHAwIG
CCsGAQUFBwMEMDMGCCsGAQUFBwEBBCcwJTAjBggrBgEFBQcwAYYXaHR0cDovL29j
c3AuZW50cnVzdC5uZXQwMgYDVR0fBCswKTAnoCWgI4YhaHR0cDovL2NybC5lbnRy
dXN0Lm5ldC8yMDQ4Y2EuY3JsMBEGA1UdIAQKMAgwBgYEVR0gADAdBgNVHQ4EFgQU
Q0lH589A0ZqokvKMisqYk8/JCA8wHwYDVR0jBBgwFoAUVeSB0RGAvtiJuQijMfmh
JAkWuXAwGQYJKoZIhvZ9B0EABAwwChsEVjcuMQMCAIEwDQYJKoZIhvcNAQEFBQAD
ggEBAGgUlCIvPADB6IfhYPg91XNYOvbL3dNQt4AOHJu6M5wmLH4eJlpK4G0Ch6DD
Woy9gOtIx54iyu2amOO90ACoBXMizEGGmR1Z2C5UeiTedov3g3fJIOqH7O/rd41L
GaYm4AzKRwsNZXoOTukUSQA7vdSTI4sdZQ6gmElqJ/ZgalGAy5ZJSWSLSeXcB5+Z
CeVoGPLjq2rh62N6JS3J/j8Jn/gBDNVzbBa5BBySBTT/Ow+hDgGJV8sD35z/aF8Z
W5VX4pNfSbzSPS8U26jGpmEqrqHAdgTgK8OVHVa40o7K4K6/E7CRO+v/6Ts2pP2N
BihOJhXLn+HbRoukESiGrQOxT3U=
-----END CERTIFICATE-----

 

Its seems it is a .Pem file. but while sending the certificate to the variable of the external web service it need to be converted into base64. we followed the below steps:

      

       Blob hash = Crypto.generateDigest('SHA1',Blob.valueOf(certificate));  

       String encoded_certificate= EncodingUtil.base64Encode(hash);

       stub.clientCert_x = encoded_certificate; 
       stub.clientCertPasswd_x = '';

 

 

but it throws an exception :

 

System.CalloutException: IO Exception: DER input, Integer tag error

 

can anybody suggest how to implement this thing. Do we need to follow any step to put the certificate in proper format? If yes could anybody suggest how to do this in detail..

 

Thanks in Advance

Anupam