<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Assist with TLS 1.2 check in Integration and Testing</title>
    <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Assist-with-TLS-1-2-check/m-p/60833#M35344</link>
    <description>&lt;P&gt;Our app in our staging environment connects successfully to A.net's sandbox and works as expected, but I'd like to double-verify we're connecting via TLS 1.2 in our stage and production environment prior to the Feb. 28 deadline.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;On the Authorize.net PHP SDK page on GitHub (&lt;A href="https://github.com/AuthorizeNet/sdk-php" target="_blank"&gt;https://github.com/AuthorizeNet/sdk-php&lt;/A&gt;), the instructions below are offered for testing, but can you provide some advice on where to position this snippet to generate the response. For example, I positioned the snippet in the footer of the web app and this was the response:&amp;nbsp;&lt;SPAN&gt;{"messages":{"resultCode":"Error","message":[{"code":"E00003","text":"Root element is missing."}]}} That leads me to believe it's not in the right context within the app.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've inherited the app in question and still getting up-to-speed on it, so I appreciate a little extra direction.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;HR /&gt;&lt;P&gt;To test whether your current installation is capable of communicating to our servers using TLS 1.2, run the following PHP code and examine the output for the TLS version:&lt;/P&gt;&lt;DIV class="highlight highlight-text-html-php"&gt;&lt;PRE&gt;&lt;SPAN class="pl-pse"&gt;&amp;lt;?php&lt;/SPAN&gt;
&lt;SPAN class="pl-s1"&gt;    &lt;SPAN class="pl-smi"&gt;$ch&lt;/SPAN&gt; &lt;SPAN class="pl-k"&gt;=&lt;/SPAN&gt; &lt;SPAN class="pl-c1"&gt;curl_init&lt;/SPAN&gt;(&lt;SPAN class="pl-s"&gt;&lt;SPAN class="pl-pds"&gt;'&lt;/SPAN&gt;https://apitest.authorize.net/xml/v1/request.api&lt;SPAN class="pl-pds"&gt;'&lt;/SPAN&gt;&lt;/SPAN&gt;);&lt;/SPAN&gt;
&lt;SPAN class="pl-s1"&gt;    &lt;SPAN class="pl-c1"&gt;curl_setopt&lt;/SPAN&gt;(&lt;SPAN class="pl-smi"&gt;$ch&lt;/SPAN&gt;, &lt;SPAN class="pl-c1"&gt;CURLOPT_RETURNTRANSFER&lt;/SPAN&gt;, &lt;SPAN class="pl-c1"&gt;true&lt;/SPAN&gt;);&lt;/SPAN&gt;
&lt;SPAN class="pl-s1"&gt;    &lt;SPAN class="pl-c1"&gt;curl_setopt&lt;/SPAN&gt;(&lt;SPAN class="pl-smi"&gt;$ch&lt;/SPAN&gt;, &lt;SPAN class="pl-c1"&gt;CURLOPT_VERBOSE&lt;/SPAN&gt;, &lt;SPAN class="pl-c1"&gt;true&lt;/SPAN&gt;);&lt;/SPAN&gt;
&lt;SPAN class="pl-s1"&gt;    &lt;SPAN class="pl-smi"&gt;$data&lt;/SPAN&gt; &lt;SPAN class="pl-k"&gt;=&lt;/SPAN&gt; &lt;SPAN class="pl-c1"&gt;curl_exec&lt;/SPAN&gt;(&lt;SPAN class="pl-smi"&gt;$ch&lt;/SPAN&gt;);&lt;/SPAN&gt;
&lt;SPAN class="pl-s1"&gt;    &lt;SPAN class="pl-c1"&gt;curl_close&lt;/SPAN&gt;(&lt;SPAN class="pl-smi"&gt;$ch&lt;/SPAN&gt;);&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;</description>
    <pubDate>Tue, 12 Dec 2017 21:45:42 GMT</pubDate>
    <dc:creator>dant</dc:creator>
    <dc:date>2017-12-12T21:45:42Z</dc:date>
    <item>
      <title>Assist with TLS 1.2 check</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Assist-with-TLS-1-2-check/m-p/60833#M35344</link>
      <description>&lt;P&gt;Our app in our staging environment connects successfully to A.net's sandbox and works as expected, but I'd like to double-verify we're connecting via TLS 1.2 in our stage and production environment prior to the Feb. 28 deadline.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;On the Authorize.net PHP SDK page on GitHub (&lt;A href="https://github.com/AuthorizeNet/sdk-php" target="_blank"&gt;https://github.com/AuthorizeNet/sdk-php&lt;/A&gt;), the instructions below are offered for testing, but can you provide some advice on where to position this snippet to generate the response. For example, I positioned the snippet in the footer of the web app and this was the response:&amp;nbsp;&lt;SPAN&gt;{"messages":{"resultCode":"Error","message":[{"code":"E00003","text":"Root element is missing."}]}} That leads me to believe it's not in the right context within the app.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've inherited the app in question and still getting up-to-speed on it, so I appreciate a little extra direction.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;HR /&gt;&lt;P&gt;To test whether your current installation is capable of communicating to our servers using TLS 1.2, run the following PHP code and examine the output for the TLS version:&lt;/P&gt;&lt;DIV class="highlight highlight-text-html-php"&gt;&lt;PRE&gt;&lt;SPAN class="pl-pse"&gt;&amp;lt;?php&lt;/SPAN&gt;
&lt;SPAN class="pl-s1"&gt;    &lt;SPAN class="pl-smi"&gt;$ch&lt;/SPAN&gt; &lt;SPAN class="pl-k"&gt;=&lt;/SPAN&gt; &lt;SPAN class="pl-c1"&gt;curl_init&lt;/SPAN&gt;(&lt;SPAN class="pl-s"&gt;&lt;SPAN class="pl-pds"&gt;'&lt;/SPAN&gt;https://apitest.authorize.net/xml/v1/request.api&lt;SPAN class="pl-pds"&gt;'&lt;/SPAN&gt;&lt;/SPAN&gt;);&lt;/SPAN&gt;
&lt;SPAN class="pl-s1"&gt;    &lt;SPAN class="pl-c1"&gt;curl_setopt&lt;/SPAN&gt;(&lt;SPAN class="pl-smi"&gt;$ch&lt;/SPAN&gt;, &lt;SPAN class="pl-c1"&gt;CURLOPT_RETURNTRANSFER&lt;/SPAN&gt;, &lt;SPAN class="pl-c1"&gt;true&lt;/SPAN&gt;);&lt;/SPAN&gt;
&lt;SPAN class="pl-s1"&gt;    &lt;SPAN class="pl-c1"&gt;curl_setopt&lt;/SPAN&gt;(&lt;SPAN class="pl-smi"&gt;$ch&lt;/SPAN&gt;, &lt;SPAN class="pl-c1"&gt;CURLOPT_VERBOSE&lt;/SPAN&gt;, &lt;SPAN class="pl-c1"&gt;true&lt;/SPAN&gt;);&lt;/SPAN&gt;
&lt;SPAN class="pl-s1"&gt;    &lt;SPAN class="pl-smi"&gt;$data&lt;/SPAN&gt; &lt;SPAN class="pl-k"&gt;=&lt;/SPAN&gt; &lt;SPAN class="pl-c1"&gt;curl_exec&lt;/SPAN&gt;(&lt;SPAN class="pl-smi"&gt;$ch&lt;/SPAN&gt;);&lt;/SPAN&gt;
&lt;SPAN class="pl-s1"&gt;    &lt;SPAN class="pl-c1"&gt;curl_close&lt;/SPAN&gt;(&lt;SPAN class="pl-smi"&gt;$ch&lt;/SPAN&gt;);&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/DIV&gt;</description>
      <pubDate>Tue, 12 Dec 2017 21:45:42 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Assist-with-TLS-1-2-check/m-p/60833#M35344</guid>
      <dc:creator>dant</dc:creator>
      <dc:date>2017-12-12T21:45:42Z</dc:date>
    </item>
    <item>
      <title>Re: Assist with TLS 1.2 check</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Assist-with-TLS-1-2-check/m-p/60836#M35347</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/22882"&gt;@dant&lt;/a&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The below link should be helpful in it .&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://stackoverflow.com/questions/27904854/verify-if-curl-is-using-tls" target="_blank"&gt;https://stackoverflow.com/questions/27904854/verify-if-curl-is-using-tls&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 13 Dec 2017 03:52:46 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Assist-with-TLS-1-2-check/m-p/60836#M35347</guid>
      <dc:creator>Anurag</dc:creator>
      <dc:date>2017-12-13T03:52:46Z</dc:date>
    </item>
    <item>
      <title>Re: Assist with TLS 1.2 check</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Assist-with-TLS-1-2-check/m-p/60837#M35348</link>
      <description>&lt;P&gt;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/21382"&gt;@Anurag&lt;/a&gt;&amp;nbsp;you beat me to it :-)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;a href="https://community.developer.cybersource.com/t5/user/viewprofilepage/user-id/22882"&gt;@dant&lt;/a&gt;&amp;nbsp; Please look into the link for similar issue that got resolved&amp;nbsp; for root element missing issue -&amp;nbsp; &lt;A href="https://community.developer.authorize.net/t5/Integration-and-Testing/XML-Problem-E00003-Root-Element-Is-Missing/m-p/31570#M16449" target="_blank"&gt;https://community.developer.authorize.net/t5/Integration-and-Testing/XML-Problem-E00003-Root-Element-Is-Missing/m-p/31570#M16449&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 13 Dec 2017 03:59:15 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Assist-with-TLS-1-2-check/m-p/60837#M35348</guid>
      <dc:creator>bhav</dc:creator>
      <dc:date>2017-12-13T03:59:15Z</dc:date>
    </item>
    <item>
      <title>Re: Assist with TLS 1.2 check</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Assist-with-TLS-1-2-check/m-p/60847#M35357</link>
      <description>&lt;P&gt;Thanks for the info, but I still haven't broken through. Here's how I have the test constructed now:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;	&amp;lt;?php	
		$ch = curl_init('https://apitest.authorize.net/xml/v1/request.api');
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		curl_setopt($ch, CURLOPT_VERBOSE, true);
		$data = curl_exec($ch);
		curl_close($ch);
		$json = json_decode($data);
		echo "TLS info: " . $json-&amp;gt;tls_version;
		echo "&amp;lt;br&amp;gt;";
		$curl_info = curl_version();
		echo "Curl info: " . $curl_info['ssl_version'];	
	?&amp;gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Which returns:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;TLS info:&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Curl info: NSS/3.28.4&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;When I&amp;nbsp;swap in a new endpoint in place of A.net test as follows:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;	&amp;lt;?php	
		$ch = curl_init('https://www.howsmyssl.com/a/check');
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		curl_setopt($ch, CURLOPT_VERBOSE, true);
		$data = curl_exec($ch);
		curl_close($ch);
		$json = json_decode($data);
		echo "TLS info: " . $json-&amp;gt;tls_version;
		echo "&amp;lt;br&amp;gt;";
		$curl_info = curl_version();
		echo "Curl info: " . $curl_info['ssl_version'];	
	?&amp;gt;&lt;/PRE&gt;&lt;P&gt;It returns:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;TLS info: TLS 1.2&lt;BR /&gt;Curl info: NSS/3.28.4&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Which looks to me like the code is correct (and we're good with CURL version) but the connection to&amp;nbsp;&lt;A href="https://apitest.authorize.net/xml/v1/request.api" target="_blank"&gt;https://apitest.authorize.net/xml/v1/request.api&lt;/A&gt; isn't happening or a response isn't being sent back.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any thoughts?&lt;/P&gt;</description>
      <pubDate>Wed, 13 Dec 2017 18:30:15 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Assist-with-TLS-1-2-check/m-p/60847#M35357</guid>
      <dc:creator>dant</dc:creator>
      <dc:date>2017-12-13T18:30:15Z</dc:date>
    </item>
    <item>
      <title>Re: Assist with TLS 1.2 check</title>
      <link>https://community.developer.cybersource.com/t5/Integration-and-Testing/Assist-with-TLS-1-2-check/m-p/60860#M35370</link>
      <description>&lt;P&gt;Hello&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://community.developer.authorize.net/t5/user/viewprofilepage/user-id/22882" target="_blank"&gt;@dant&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Using&amp;nbsp;&lt;A href="https://apitest.authorize.net/xml/v1/request.api" target="_blank" rel="nofollow noopener noreferrer"&gt;https://apitest.authorize.net/xml/v1/request.api&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;as an endpoint, isn't going to return any TLS information, because that is not part of their JSON response.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Considering your response from&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://www.howsmyssl.com/a/check" target="_blank" rel="nofollow noopener noreferrer"&gt;https://www.howsmyssl.com/a/check&lt;/A&gt;, it looks like your TLS is fine.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The response of&amp;nbsp;&lt;SPAN&gt;&lt;FONT color="#339966"&gt;{"resultCode":"Error","message":[{"code":"E00003","text":"Root element is missing."}]}}&lt;/FONT&gt; is due to the appropriate XML not being posted as part of that particular request.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;To be sure your production environment is ready for the TLS change, just use the sandbox endpoint and login information&amp;nbsp;with your application in your production environment. If you receive a successful response, you are good to go.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 14 Dec 2017 19:19:37 GMT</pubDate>
      <guid>https://community.developer.cybersource.com/t5/Integration-and-Testing/Assist-with-TLS-1-2-check/m-p/60860#M35370</guid>
      <dc:creator>NexusSoftware</dc:creator>
      <dc:date>2017-12-14T19:19:37Z</dc:date>
    </item>
  </channel>
</rss>

