[Tutorial][key-manager]replace deprecated APIs(ckmc_load_from_pkcs12_file,ckmc_remove...
authorDongsun Lee <ds73.lee@samsung.com>
Tue, 7 Jul 2015 02:25:07 +0000 (11:25 +0900)
committerDongsun Lee <ds73.lee@samsung.com>
Tue, 7 Jul 2015 05:18:06 +0000 (14:18 +0900)
Change-Id: I47a442e105c2fa4892b7e9a6393a7fc02693e037
Signed-off-by: Dongsun Lee <ds73.lee@samsung.com>
org.tizen.tutorials/html/native/security/key_tutorial_n.htm

index 4a93e91..22e1e2f 100644 (file)
@@ -187,12 +187,24 @@ int ret = CKMC_ERROR_NONE;
 \r
 const char* alias= &quot;mykey&quot;;\r
 \r
-ret = ckmc_remove_key(alias);\r
+ret = ckmc_remove_alias(alias);\r
 if (CKMC_ERROR_NONE != ret) \r
 {\r
 &nbsp;&nbsp;&nbsp;// Error handling\r
 }\r
-</pre></li></ol>\r
+</pre>\r
+<table class="note">\r
+ <tbody>\r
+  <tr>\r
+  <th class="note">Note</th>\r
+  </tr>\r
+  <tr>\r
+   <td class="note">Note that a few Key manager APIs have been <strong>deprecated since Tizen 2.4</strong>. \r
+ For example, several ckmc_remove_* () have been replaced by ckmc_remove_alias(). Although the deprecated APIs continue to be available, it is strongly recommended to use new APIs. For more information on the deprecated information, please refer to the <a href="../../../../org.tizen.native.mobile.apireference/group_CAPIKEYMANAGER_MODULE.html">Key-manager API References</a>.</td>\r
+  </tr>\r
+ </tbody>\r
+</table>\r
+</li></ol>\r
 \r
 <h2 id="savingcert" name="savingcert">Saving, Getting, or Removing a Certificate</h2>\r
 \r
@@ -302,12 +314,13 @@ int ret = CKMC_ERROR_NONE;
 \r
 const char* alias= &quot;myCert&quot;;\r
 \r
-ret = ckmc_remove_cert(alias);\r
+ret = ckmc_remove_alias(alias);\r
 if (CKMC_ERROR_NONE != ret)\r
 {\r
 &nbsp;&nbsp;&nbsp;// Error handling\r
 }\r
-</pre></li></ol>\r
+</pre>\r
+</li></ol>\r
 \r
 <h2 id="savingdata" name="savingdata">Saving, Getting, or Removing Data</h2>\r
 \r
@@ -389,12 +402,13 @@ int ret = CKMC_ERROR_NONE;
 \r
 const char* alias= &quot;myData&quot;;\r
 \r
-ret = ckmc_remove_data(alias);\r
+ret = ckmc_remove_alias(alias);\r
 if (CKMC_ERROR_NONE != ret)\r
 {\r
 &nbsp;&nbsp;&nbsp;// Error handling\r
 }\r
-</pre></li></ol>\r
+</pre>\r
+</li></ol>\r
 \r
 <h2 id="creatingkey" name="creatingkey">Creating Key Pairs</h2>\r
 \r
@@ -900,32 +914,30 @@ ckmc_cert_free(pcert); // Called when the certificate is no longer needed
 <pre class="prettyprint">\r
 int ret = CKMC_ERROR_NONE;\r
 \r
-ckmc_key_s *private_key = NULL;\r
-ckmc_cert_s *cert = NULL;\r
-ckmc_cert_list_s *ca_cert_list = NULL;\r
+ckmc_pkcs12_s *ppkcs12 = NULL;\r
 // defined_media_storage_directory can be obtained with the storage_get_directory() function\r
 const char *p12file = &quot;&lt;defined_media_storage_directory&gt;/ckmc_p12_test.p12&quot;; \r
 const char *password = &quot;password&quot;;  // PKCS#12 file can be protected by a password\r
 \r
-ret = ckmc_load_from_pkcs12_file(p12file, password, &amp;private_key, &amp;cert, &amp;ca_cert_list);\r
-if (CKMC_ERROR_NONE != ret)\r
+ret = ckmc_pkcs12_load(p12file, password, &amp;ppkcs12);\r
+if (CKMC_ERROR_NONE != ret || ppkcs12 == NULL)\r
 {\r
 &nbsp;&nbsp;&nbsp;// Error handling\r
 }\r
 \r
-if (private_key != NULL)\r
+if (ppkcs12->priv_key != NULL)\r
 {\r
 &nbsp;&nbsp;&nbsp;// Check a private key\r
 }\r
 \r
-if (cert != NULL)\r
+if (ppkcs12->cert != NULL)\r
 {\r
 &nbsp;&nbsp;&nbsp;// Check a certificate\r
 \r
 }\r
 \r
 int cnt = 0;\r
-ckmc_cert_list_s *tmp_list = ca_cert_list;\r
+ckmc_cert_list_s *tmp_list = ppkcs12->ca_chain;\r
 while(tmp_list!= NULL)\r
 {\r
 &nbsp;&nbsp;&nbsp;// Check a certificate list\r
@@ -933,10 +945,9 @@ while(tmp_list!= NULL)
 &nbsp;&nbsp;&nbsp;tmp_list = tmp_list -&gt;next;\r
 }\r
 \r
-ckmc_key_free(private_key); // Called when the key is no longer needed\r
-ckmc_cert_free(cert); // Called when the certificate is no longer needed\r
-ckmc_cert_list_all_free(ca_cert_list); // Called when the list is no longer needed\r
-</pre></li></ul>\r
+ckmc_pkcs12_free(ppkcs12);; // Called when the pkcs12 data is no longer needed\r
+</pre>\r
+</li></ul>\r
 \r
 <h2 id="access" name="access">Implementing Access Control</h2>\r
 \r
@@ -974,18 +985,19 @@ const char *target1 = &quot;accessor-allow-1&quot;;
 const char *target2 = &quot;accessor-allow-2&quot;;\r
 const char *alias = &quot;targetData&quot;;\r
 \r
-ret = ckmc_allow_access(alias, target1, CKMC_AR_READ); // Only allow reading data\r
+ret = ckmc_set_permission(alias, target1, CKMC_PERMISSION_READ); // Only allow reading data\r
 if (CKMC_ERROR_NONE != ret)\r
 {\r
 &nbsp;&nbsp;&nbsp;// Error handling\r
 }\r
 \r
-ret = ckmc_allow_access(alias, target2, CKMC_AR_READ_REMOVE); // Allow reading and deleting data\r
+ret = ckmc_set_permission(alias, target2, CKMC_PERMISSION_READ | CKMC_PERMISSION_REMOVE); // Allow reading and deleting data\r
 if (CKMC_ERROR_NONE != ret)\r
 {\r
 &nbsp;&nbsp;&nbsp;// Error handling\r
 }\r
-</pre></li>\r
+</pre>\r
+</li>\r
 \r
 <li><p>Set a rule to deny access:</p>\r
 <pre class="prettyprint">\r
@@ -994,19 +1006,20 @@ int ret = CKMC_ERROR_NONE;
 const char *target = &quot;denied-accessor&quot;;\r
 const char *alias = &quot;targetData&quot;;\r
 \r
-ret = ckmc_allow_access(alias, target, CKMC_AR_READ); // Allow the target user to a read (alias)\r
+ret = ckmc_set_permission(alias, target, CKMC_PERMISSION_READ); // Allow the target user to a read (alias)\r
 if (CKMC_ERROR_NONE != ret)\r
 {\r
 &nbsp;&nbsp;&nbsp;// Error handling\r
 }\r
 \r
-ret = ckmc_deny_access(alias, target); // Deny the target user access to data (alias)\r
+ret = ckmc_set_permission(alias, target, CKMC_PERMISSION_NONE); // Deny the target user access to data (alias)\r
 if (CKMC_ERROR_NONE != ret)\r
 \r
 {\r
 &nbsp;&nbsp;&nbsp;// Error handling\r
 }\r
-</pre></li>\r
+</pre>\r
+</li>\r
 </ol>\r
 \r
 <script type="text/javascript" src="../../scripts/jquery.zclip.min.js"></script>\r
@@ -1032,4 +1045,4 @@ var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga
 </script> \r
  \r
  </body>\r
- </html>
\ No newline at end of file
+ </html>\r