<?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 How to load a secured wms layer with client certificate? in 1. Workshop ArcGIS – die Plattform für Kommunalverwaltungen</title>
    <link>https://community.esri.com/t5/1-workshop-arcgis-die-plattform-f%C3%BCr/how-to-load-a-secured-wms-layer-with-client/m-p/721899#M4</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I'm new to ios app development and new to authentication stuff. Any help is very much appreciated.&lt;/P&gt;&lt;P&gt;SDK version: Arcgis sdk for IOS version 100.7&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to load wms layer from a secured https server with client certifiate, p12 format. Below is my code to get AGDCredential object. I can get SecIdentityRef as below, but its value is changing each time i run the app, is it normal? 2nd, AGSCredential doesn't have initWithIdentityRef method which is presented in api reference. I try to use either&amp;nbsp;&lt;SPAN class=""&gt;AGSCredential&lt;/SPAN&gt;&lt;SPAN&gt;(identityRef: secidref) or&amp;nbsp;&lt;SPAN class=""&gt;AGSCredential.init&lt;/SPAN&gt;&lt;SPAN&gt;(identityRef: secidref) to get an AGSCredential, the result is always nil.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;H2 class="" style="color: #000000; background-color: #ece6df; border-top: 1px solid #c8b49f; border-left: 1px solid #c8b49f; border-right: 1px solid #c8b49f; font-weight: 300; margin-bottom: -1px; margin-right: 15px; padding: 8px;"&gt;&lt;STRONG&gt;&amp;lt;SecIdentityRef: 0x600002cf5080&amp;gt;&lt;/STRONG&gt;&lt;/H2&gt;&lt;P&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; path: &lt;SPAN class=""&gt;String&lt;/SPAN&gt; = &lt;SPAN class=""&gt;Bundle&lt;/SPAN&gt;.&lt;SPAN class=""&gt;main&lt;/SPAN&gt;.&lt;SPAN class=""&gt;path&lt;/SPAN&gt;(forResource: &lt;SPAN class=""&gt;"client_certificat_ename"&lt;/SPAN&gt;, ofType: &lt;SPAN class=""&gt;"p12"&lt;/SPAN&gt;)!&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; PKCS12Data:&lt;SPAN class=""&gt;NSData&lt;/SPAN&gt; = &lt;SPAN class=""&gt;NSData&lt;/SPAN&gt;(contentsOfFile:path)!&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;print&lt;/SPAN&gt;(PKCS12Data)&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;//var err:NSError? = nil&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; idRef = &lt;SPAN class=""&gt;&lt;STRONG&gt;try&lt;/STRONG&gt;&lt;/SPAN&gt;! &lt;SPAN class=""&gt;AGSCredential&lt;/SPAN&gt;.&lt;SPAN class=""&gt;importCertificateData&lt;/SPAN&gt;(PKCS12Data &lt;SPAN class=""&gt;&lt;STRONG&gt;as&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN class=""&gt;Data&lt;/SPAN&gt;, password: &lt;SPAN class=""&gt;"mypassword"&lt;/SPAN&gt;, overwrite: &lt;SPAN class=""&gt;&lt;STRONG&gt;true&lt;/STRONG&gt;&lt;/SPAN&gt;)&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;print&lt;/SPAN&gt;(idRef)&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; secidref = idRef.&lt;SPAN class=""&gt;takeRetainedValue&lt;/SPAN&gt;()&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=""&gt;print&lt;/SPAN&gt;&lt;SPAN class=""&gt;(&lt;/SPAN&gt;"secidref:"&lt;SPAN class=""&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;print&lt;/SPAN&gt;(secidref)&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; cred = &lt;SPAN class=""&gt;AGSCredential&lt;/SPAN&gt;(identityRef: secidref)&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;print&lt;/SPAN&gt;(&lt;SPAN class=""&gt;"cred:"&lt;/SPAN&gt;)&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;print&lt;/SPAN&gt;(cred)&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; host:&lt;SPAN class=""&gt;NSString&lt;/SPAN&gt;? = cred.&lt;SPAN class=""&gt;authenticatingHost&lt;/SPAN&gt;() &lt;SPAN class=""&gt;&lt;STRONG&gt;as&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN class=""&gt;NSString&lt;/SPAN&gt;?&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;print&lt;/SPAN&gt;(host)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 24 Feb 2020 02:50:28 GMT</pubDate>
    <dc:creator>PatrickLi</dc:creator>
    <dc:date>2020-02-24T02:50:28Z</dc:date>
    <item>
      <title>How to load a secured wms layer with client certificate?</title>
      <link>https://community.esri.com/t5/1-workshop-arcgis-die-plattform-f%C3%BCr/how-to-load-a-secured-wms-layer-with-client/m-p/721899#M4</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I'm new to ios app development and new to authentication stuff. Any help is very much appreciated.&lt;/P&gt;&lt;P&gt;SDK version: Arcgis sdk for IOS version 100.7&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to load wms layer from a secured https server with client certifiate, p12 format. Below is my code to get AGDCredential object. I can get SecIdentityRef as below, but its value is changing each time i run the app, is it normal? 2nd, AGSCredential doesn't have initWithIdentityRef method which is presented in api reference. I try to use either&amp;nbsp;&lt;SPAN class=""&gt;AGSCredential&lt;/SPAN&gt;&lt;SPAN&gt;(identityRef: secidref) or&amp;nbsp;&lt;SPAN class=""&gt;AGSCredential.init&lt;/SPAN&gt;&lt;SPAN&gt;(identityRef: secidref) to get an AGSCredential, the result is always nil.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;H2 class="" style="color: #000000; background-color: #ece6df; border-top: 1px solid #c8b49f; border-left: 1px solid #c8b49f; border-right: 1px solid #c8b49f; font-weight: 300; margin-bottom: -1px; margin-right: 15px; padding: 8px;"&gt;&lt;STRONG&gt;&amp;lt;SecIdentityRef: 0x600002cf5080&amp;gt;&lt;/STRONG&gt;&lt;/H2&gt;&lt;P&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; path: &lt;SPAN class=""&gt;String&lt;/SPAN&gt; = &lt;SPAN class=""&gt;Bundle&lt;/SPAN&gt;.&lt;SPAN class=""&gt;main&lt;/SPAN&gt;.&lt;SPAN class=""&gt;path&lt;/SPAN&gt;(forResource: &lt;SPAN class=""&gt;"client_certificat_ename"&lt;/SPAN&gt;, ofType: &lt;SPAN class=""&gt;"p12"&lt;/SPAN&gt;)!&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; PKCS12Data:&lt;SPAN class=""&gt;NSData&lt;/SPAN&gt; = &lt;SPAN class=""&gt;NSData&lt;/SPAN&gt;(contentsOfFile:path)!&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;print&lt;/SPAN&gt;(PKCS12Data)&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;//var err:NSError? = nil&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; idRef = &lt;SPAN class=""&gt;&lt;STRONG&gt;try&lt;/STRONG&gt;&lt;/SPAN&gt;! &lt;SPAN class=""&gt;AGSCredential&lt;/SPAN&gt;.&lt;SPAN class=""&gt;importCertificateData&lt;/SPAN&gt;(PKCS12Data &lt;SPAN class=""&gt;&lt;STRONG&gt;as&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN class=""&gt;Data&lt;/SPAN&gt;, password: &lt;SPAN class=""&gt;"mypassword"&lt;/SPAN&gt;, overwrite: &lt;SPAN class=""&gt;&lt;STRONG&gt;true&lt;/STRONG&gt;&lt;/SPAN&gt;)&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;print&lt;/SPAN&gt;(idRef)&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; secidref = idRef.&lt;SPAN class=""&gt;takeRetainedValue&lt;/SPAN&gt;()&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=""&gt;print&lt;/SPAN&gt;&lt;SPAN class=""&gt;(&lt;/SPAN&gt;"secidref:"&lt;SPAN class=""&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;print&lt;/SPAN&gt;(secidref)&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; cred = &lt;SPAN class=""&gt;AGSCredential&lt;/SPAN&gt;(identityRef: secidref)&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;print&lt;/SPAN&gt;(&lt;SPAN class=""&gt;"cred:"&lt;/SPAN&gt;)&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;print&lt;/SPAN&gt;(cred)&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;STRONG&gt;let&lt;/STRONG&gt;&lt;/SPAN&gt; host:&lt;SPAN class=""&gt;NSString&lt;/SPAN&gt;? = cred.&lt;SPAN class=""&gt;authenticatingHost&lt;/SPAN&gt;() &lt;SPAN class=""&gt;&lt;STRONG&gt;as&lt;/STRONG&gt;&lt;/SPAN&gt; &lt;SPAN class=""&gt;NSString&lt;/SPAN&gt;?&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN class=""&gt;print&lt;/SPAN&gt;(host)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Feb 2020 02:50:28 GMT</pubDate>
      <guid>https://community.esri.com/t5/1-workshop-arcgis-die-plattform-f%C3%BCr/how-to-load-a-secured-wms-layer-with-client/m-p/721899#M4</guid>
      <dc:creator>PatrickLi</dc:creator>
      <dc:date>2020-02-24T02:50:28Z</dc:date>
    </item>
  </channel>
</rss>

