<?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 Re: Securely storing credentials? in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/securely-storing-credentials/m-p/11528914#M1935082</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Volker&lt;/P&gt;&lt;P&gt;You could use your customizing table as encrypted ones and decripting them at runtime&lt;/P&gt;&lt;P&gt;Check out &lt;A __default_attr="56728" __jive_macro_name="document" class="jive_macro_document jive_macro" data-orig-content="Encryption Algorithm using class :CL_HARD_WIRED_ENCRYPTOR" href="https://community.sap.com/" modifiedtitle="true" title="Encryption Algorithm using class :CL_HARD_WIRED_ENCRYPTOR"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;and the&amp;nbsp; suggested links in replies at this thread&lt;/P&gt;&lt;P&gt;&lt;A __default_attr="1516318" __jive_macro_name="thread" class="jive_macro_thread jive_macro" data-orig-content="How to encrypt  and decrypt data in Abap" href="https://community.sap.com/" modifiedtitle="true" title="How to encrypt and decrypt data in Abap"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can create as first step a report that read USer and password (like a web registration form), entrcypt what you want and then store to a table.&lt;/P&gt;&lt;P&gt;In your connection, read table, decrypt and use.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 12 Feb 2016 10:48:20 GMT</pubDate>
    <dc:creator>SimoneMilesi</dc:creator>
    <dc:date>2016-02-12T10:48:20Z</dc:date>
    <item>
      <title>Securely storing credentials?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/securely-storing-credentials/m-p/11528911#M1935079</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For a POC application, I'm trying to access an external web service. Technically, it works (using a RFC destination to manage the endpoint, cl_http_client=&amp;gt;create_by_destination and cl_rest_http_client) - but I'm not happy with a certain detail. To use the web service, I need to obtain an access token using &lt;A href="https://docs.particle.io/reference/api/#generate-an-access-token"&gt;this API method&lt;/A&gt;. It boils down to the following code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
&lt;P&gt;&amp;nbsp; cl_http_client=&amp;gt;create_by_destination(&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EXPORTING&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; destination&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = i_destination&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IMPORTING&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; client&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = DATA(http_client)&lt;/P&gt;
&lt;P&gt;&amp;nbsp; ).&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; data(query_params) = cl_http_utility=&amp;gt;fields_to_string(&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fields&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = value #( ( name = 'grant_type' value = 'password' )&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ( name = 'username'&amp;nbsp;&amp;nbsp; value = 'username@some.tld')&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ( name = 'password'&amp;nbsp;&amp;nbsp; value = 'ssssecret' ) )&lt;/P&gt;
&lt;P&gt;&amp;nbsp; ).&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; cl_http_utility=&amp;gt;set_request_uri(&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; request = http_client-&amp;gt;request&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uri = |/oauth/token?{ query_params }|&lt;/P&gt;
&lt;P&gt;&amp;nbsp; ).&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; DATA(rest_client) = NEW cl_rest_http_client( http_client ).&lt;/P&gt;
&lt;P&gt;&amp;nbsp; DATA(request_entity) = rest_client-&amp;gt;if_rest_client~create_request_entity( ).&lt;/P&gt;
&lt;P&gt;&amp;nbsp; request_entity-&amp;gt;set_content_type( iv_media_type ='application/x-www-form-urlencoded' ).&lt;/P&gt;
&lt;P&gt;&amp;nbsp; rest_client-&amp;gt;if_rest_resource~post( io_entity = request_entity ).&lt;/P&gt;
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;(and lo and behold, &lt;A _jive_internal="true" href="https://answers.sap.com/community/abap/blog/2016/02/06/fanning-the-flames-prefixing-variableattribute-names"&gt;no prefixes&lt;/A&gt;! &lt;SPAN __jive_emoticon_name="silly" __jive_macro_name="emoticon" class="jive_macro_emoticon jive_emote jive_macro" src="https://community.sap.com/74/images/emoticons/silly.gif"&gt;&lt;/SPAN&gt;)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm sure you'll see the issue right away. For some reasons I don't fully understand, the service is designed in a way that I need to specify constant values (particle:particle) using HTTP Basic auth (so that's what specified in the RFC destination), and the "real" user name and password need to be supplied using query parameters. I could simply store them in a customizing table, but for obvious reasons, that's less than optimal. I've tried to store the credentials in the RFC destination, but SAP did a good job of protecting the SECSTORE - as far as I can see, I can't read the password stored in the RFC destinations. Which other options for storing the credentials would you suggest?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;&amp;nbsp; Volker&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Feb 2016 21:07:35 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/securely-storing-credentials/m-p/11528911#M1935079</guid>
      <dc:creator>vwegert</dc:creator>
      <dc:date>2016-02-11T21:07:35Z</dc:date>
    </item>
    <item>
      <title>Re: Securely storing credentials?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/securely-storing-credentials/m-p/11528912#M1935080</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Try creating a logical port where you can store the Admin User id and Password. Connect to the Logical Port from your ABAP program and access any Service that you would like to consume.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;Naavy&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Feb 2016 21:54:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/securely-storing-credentials/m-p/11528912#M1935080</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2016-02-11T21:54:59Z</dc:date>
    </item>
    <item>
      <title>Re: Securely storing credentials?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/securely-storing-credentials/m-p/11528913#M1935081</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I fail to see how that would solve the problem. How does that magically add query parameters containing username and password to my HTTP query?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;&amp;nbsp; Volker Wegert&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Feb 2016 09:10:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/securely-storing-credentials/m-p/11528913#M1935081</guid>
      <dc:creator>vwegert</dc:creator>
      <dc:date>2016-02-12T09:10:33Z</dc:date>
    </item>
    <item>
      <title>Re: Securely storing credentials?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/securely-storing-credentials/m-p/11528914#M1935082</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Volker&lt;/P&gt;&lt;P&gt;You could use your customizing table as encrypted ones and decripting them at runtime&lt;/P&gt;&lt;P&gt;Check out &lt;A __default_attr="56728" __jive_macro_name="document" class="jive_macro_document jive_macro" data-orig-content="Encryption Algorithm using class :CL_HARD_WIRED_ENCRYPTOR" href="https://community.sap.com/" modifiedtitle="true" title="Encryption Algorithm using class :CL_HARD_WIRED_ENCRYPTOR"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;and the&amp;nbsp; suggested links in replies at this thread&lt;/P&gt;&lt;P&gt;&lt;A __default_attr="1516318" __jive_macro_name="thread" class="jive_macro_thread jive_macro" data-orig-content="How to encrypt  and decrypt data in Abap" href="https://community.sap.com/" modifiedtitle="true" title="How to encrypt and decrypt data in Abap"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can create as first step a report that read USer and password (like a web registration form), entrcypt what you want and then store to a table.&lt;/P&gt;&lt;P&gt;In your connection, read table, decrypt and use.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Feb 2016 10:48:20 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/securely-storing-credentials/m-p/11528914#M1935082</guid>
      <dc:creator>SimoneMilesi</dc:creator>
      <dc:date>2016-02-12T10:48:20Z</dc:date>
    </item>
    <item>
      <title>Re: Securely storing credentials?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/securely-storing-credentials/m-p/11528915#M1935083</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I understand it correctly, you do not want to hardcode/store the user name and password.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Most of the web services will have operations such as "Authentication", call it first from your code, which will return an encrypted token.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Use the encrypted token obtained from above operation and call desired operation by passing the above authenticated token.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Off course, some of the Authentication Operations do require the user name and password for which you can try what Simone had mentioned.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Happy coding!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Cheers&lt;/P&gt;&lt;P&gt;Naavy&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 12 Feb 2016 18:18:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/securely-storing-credentials/m-p/11528915#M1935083</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2016-02-12T18:18:59Z</dc:date>
    </item>
    <item>
      <title>Re: Securely storing credentials?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/securely-storing-credentials/m-p/11528916#M1935084</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Simone,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thanks for the hint. Unfortunately, that would mean having to modify the generated table maintenance application rather heavily. I think, for my POC application, I'll be taking a different route (interactive authentication), but I'll keep the encryption class in mind. So far, I've only used the STRUST PKI stuff for this...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;&amp;nbsp; Volker&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Feb 2016 14:22:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/securely-storing-credentials/m-p/11528916#M1935084</guid>
      <dc:creator>vwegert</dc:creator>
      <dc:date>2016-02-26T14:22:05Z</dc:date>
    </item>
    <item>
      <title>Re: Securely storing credentials?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/securely-storing-credentials/m-p/11528917#M1935085</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I would like to know your full scenario and solution Volker, since I'm starting to approach a similar situation (SAP working tightly with Company's intranet+PLM+EWMS) and sharing/stealing a couple of ideas would be great! &lt;SPAN __jive_emoticon_name="happy" __jive_macro_name="emoticon" class="jive_macro jive_emote" src="https://community.sap.com/74/images/emoticons/happy.gif"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Feb 2016 14:32:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/securely-storing-credentials/m-p/11528917#M1935085</guid>
      <dc:creator>SimoneMilesi</dc:creator>
      <dc:date>2016-02-26T14:32:56Z</dc:date>
    </item>
    <item>
      <title>Re: Securely storing credentials?</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/securely-storing-credentials/m-p/11528918#M1935086</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;At your request (well, not really, I intended to make it anyway &lt;SPAN __jive_emoticon_name="happy" __jive_macro_name="emoticon" class="jive_macro_emoticon jive_macro jive_emote" src="https://community.sap.com/98/images/emoticons/happy.gif"&gt;&lt;/SPAN&gt;), &lt;A _jive_internal="true" href="https://answers.sap.com/people/volker.wegert3/blog/2016/03/20/model-storage-robot-part-1-big-picture-big-plans"&gt;here's the description of the full scenario&lt;/A&gt;. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Mar 2016 08:00:48 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/securely-storing-credentials/m-p/11528918#M1935086</guid>
      <dc:creator>vwegert</dc:creator>
      <dc:date>2016-03-22T08:00:48Z</dc:date>
    </item>
  </channel>
</rss>

