Platform

Choose application
HAL
Certs provides functions for device certificates and signing operations.<\/p>\n<h2 id=\"content-required-header\"><a href=https://samsungtizenos.com/"#content-required-header\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Required Header<\/h2>\n<p>#include &lt;hal\/hal-security-certs.h&gt;<\/p>\n<h2 id=\"content-overview\"><a href=https://samsungtizenos.com/"#content-overview\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Overview<\/h2>\n<p>The Security Certs provides functions for device certificates and signing operations.<\/p>\n<p>The Security Certs functions provide methods to:<\/p>\n<ul>\n<li>Load\/Unload for certs hal-backend module<\/li>\n<li>Create\/Free key context<\/li>\n<li>Request certificate chain<\/li>\n<li>Create signature<\/li>\n<li>Get key type\/length<\/li>\n<li>Call extended api<\/li>\n<li>Get extended api privilege<\/li>\n<\/ul>\n<p>For more information on the Security Certs features and the macros, see HAL Security programming guides and tutorials.<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Typedefs<\/th>\n<th><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#struct__hal__backend__security__certs__funcs\">_hal_backend_security_certs_funcs<\/a><\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#gae7c4b4ed25c4e429cc79fb3bcda630a4\">hal_backend_security_certs_funcs<\/a><\/td>\n<\/tr>\n<tr>\n<td><\/td>\n<td>Structure for security certs functions.<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h2 id=\"content-data-structure-documentation\"><a href=https://samsungtizenos.com/"#content-data-structure-documentation\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Data Structure Documentation<\/h2>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct _hal_backend_security_certs_funcs<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Structure for security certs functions.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_SECURITY_CERTS 1.0<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Data Fields<\/th>\n<th><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#a5eea6d1633bb5fdce4ab9de7e6f5f5f0\">create_key_context<\/a> )(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__context__s\">hal_security_certs_context_s<\/a> *context, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__data__s\">hal_security_certs_data_s<\/a> key_type)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#ab11e78a3443ee16800819647b07b3795\">free_key_context<\/a> )(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__context__s\">hal_security_certs_context_s<\/a> *context)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#aba11a9cdbdd4d66a80170a1dc77d741c\">request_certificate_chain<\/a> )(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__context__s\">hal_security_certs_context_s<\/a> *context, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__data__s\">hal_security_certs_data_s<\/a> *cert_chain)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#ab698969a868a0f78479207e296701050\">sign_crypto_data<\/a> )(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__context__s\">hal_security_certs_context_s<\/a> *context, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#gaed7b1940fa0e748430c038beda8a1264\">hal_security_certs_digest_type_e<\/a> digest_type, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__data__s\">hal_security_certs_data_s<\/a> message, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__data__s\">hal_security_certs_data_s<\/a> *signature)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#a2a18a320ddddf3ca2a56e566d1e8f8c7\">get_key_type<\/a> )(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__context__s\">hal_security_certs_context_s<\/a> *context, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#gaeee6d23720fb6487807bf738b2df1f35\">hal_security_certs_crypto_key_type_e<\/a> *key_type)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#a6fff051361e615403d7ed904da3fa3a1\">get_key_bit_length<\/a> )(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__context__s\">hal_security_certs_context_s<\/a> *context, unsigned int *key_length)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#a9911a8166e8988e2c661b616fc82ce00\">ext_call_api<\/a> )(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__data__s\">hal_security_certs_data_s<\/a> method_name, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__data__s\">hal_security_certs_data_s<\/a> input_data, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__data__s\">hal_security_certs_data_s<\/a> *output_data)<\/td>\n<\/tr>\n<tr>\n<td>int(*<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#ab2090bc937f176d6955da86c88e73246\">ext_get_api_privilege<\/a> )(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__data__s\">hal_security_certs_data_s<\/a> method_name, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__data__s\">hal_security_certs_data_s<\/a> *privilege)<\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation\"><a href=https://samsungtizenos.com/"#content-field-documentation\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Field Documentation<\/h4>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#a5eea6d1633bb5fdce4ab9de7e6f5f5f0\">_hal_backend_security_certs_funcs::create_key_context<\/a>)(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__context__s\">hal_security_certs_context_s<\/a> *context, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__data__s\">hal_security_certs_data_s<\/a> key_type)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Create new key context<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#a9911a8166e8988e2c661b616fc82ce00\">_hal_backend_security_certs_funcs::ext_call_api<\/a>)(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__data__s\">hal_security_certs_data_s<\/a> method_name, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__data__s\">hal_security_certs_data_s<\/a> input_data, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__data__s\">hal_security_certs_data_s<\/a> *output_data)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Call extended API<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#ab2090bc937f176d6955da86c88e73246\">_hal_backend_security_certs_funcs::ext_get_api_privilege<\/a>)(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__data__s\">hal_security_certs_data_s<\/a> method_name, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__data__s\">hal_security_certs_data_s<\/a> *privilege)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Get extended API privilege<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#ab11e78a3443ee16800819647b07b3795\">_hal_backend_security_certs_funcs::free_key_context<\/a>)(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__context__s\">hal_security_certs_context_s<\/a> *context)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Free key context<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#a6fff051361e615403d7ed904da3fa3a1\">_hal_backend_security_certs_funcs::get_key_bit_length<\/a>)(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__context__s\">hal_security_certs_context_s<\/a> *context, unsigned int *key_length)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Get key length in bits<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#a2a18a320ddddf3ca2a56e566d1e8f8c7\">_hal_backend_security_certs_funcs::get_key_type<\/a>)(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__context__s\">hal_security_certs_context_s<\/a> *context, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#gaeee6d23720fb6487807bf738b2df1f35\">hal_security_certs_crypto_key_type_e<\/a> *key_type)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Get key type<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#aba11a9cdbdd4d66a80170a1dc77d741c\">_hal_backend_security_certs_funcs::request_certificate_chain<\/a>)(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__context__s\">hal_security_certs_context_s<\/a> *context, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__data__s\">hal_security_certs_data_s<\/a> *cert_chain)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Request certificate chain<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>int(* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#ab698969a868a0f78479207e296701050\">_hal_backend_security_certs_funcs::sign_crypto_data<\/a>)(<a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__context__s\">hal_security_certs_context_s<\/a> *context, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#gaed7b1940fa0e748430c038beda8a1264\">hal_security_certs_digest_type_e<\/a> digest_type, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__data__s\">hal_security_certs_data_s<\/a> message, <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#structhal__security__certs__data__s\">hal_security_certs_data_s<\/a> *signature)<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Sign data<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct hal_security_certs_context_s<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Structure for security certs context.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_SECURITY_CERTS 1.0<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Data Fields<\/th>\n<th><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>void *<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#af1dc20f91c9765eccaa533791e6b8528\">ctx<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation-1\"><a href=https://samsungtizenos.com/"#content-field-documentation-1\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Field Documentation<\/h4>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>void* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#af1dc20f91c9765eccaa533791e6b8528\">hal_security_certs_context_s::ctx<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Backend context<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>struct hal_security_certs_data_s<\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Structure for binary data exchange.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_SECURITY_CERTS 1.0<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>Data Fields<\/th>\n<th><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>char *<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#a2449db83092545b1208a367b3250030d\">buffer<\/a><\/td>\n<\/tr>\n<tr>\n<td>size_t<\/td>\n<td><a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#a69d8aa341f78296c1b00ad18d8441685\">length<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table><\/div>\n<hr \/>\n<h4 id=\"content-field-documentation-2\"><a href=https://samsungtizenos.com/"#content-field-documentation-2\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Field Documentation<\/h4>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>char* <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#a2449db83092545b1208a367b3250030d\">hal_security_certs_data_s::buffer<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Binary data buffer<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>size_t <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#a69d8aa341f78296c1b00ad18d8441685\">hal_security_certs_data_s::length<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Binary data length<\/p>\n<hr \/>\n<h2 id=\"content-typedef-documentation\"><a href=https://samsungtizenos.com/"#content-typedef-documentation\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Typedef Documentation<\/h2>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>typedef struct <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#struct__hal__backend__security__certs__funcs\">_hal_backend_security_certs_funcs<\/a> <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#gae7c4b4ed25c4e429cc79fb3bcda630a4\">hal_backend_security_certs_funcs<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Structure for security certs functions.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_SECURITY_CERTS 1.0<\/p>\n<hr \/>\n<h2 id=\"content-enumeration-type-documentation\"><a href=https://samsungtizenos.com/"#content-enumeration-type-documentation\" class=\"heading-permalink\" aria-hidden=\"true\" title=\"Permalink\">\u00b6<\/a>Enumeration Type Documentation<\/h2>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#gaeee6d23720fb6487807bf738b2df1f35\">hal_security_certs_crypto_key_type_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for cryptographic key type.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_SECURITY_CERTS 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>HAL_SECURITY_CERTS_KEY_TYPE_INVALID<\/em> | Invalid type |\n| --- | --- |\n| <em>HAL_SECURITY_CERTS_KEY_TYPE_ECDSA<\/em> | ECDSA key |\n| <em>HAL_SECURITY_CERTS_KEY_TYPE_RSA<\/em> | RSA key |<\/p>\n<div class=\"overflow-auto grid table-fixed\" data-table-container=\"data-table-container\"><table>\n<thead>\n<tr>\n<th>enum <a href=https://samsungtizenos.com/"group__HALAPI__HAL__SECURITY__CERTS__MODULE.md#gaed7b1940fa0e748430c038beda8a1264\">hal_security_certs_digest_type_e<\/a><\/th>\n<\/tr>\n<\/thead>\n<\/table><\/div>\n<p>Enumeration for message digest algorithm type.<\/p>\n<p><strong>Since:<\/strong>\n: HAL_MODULE_SECURITY_CERTS 1.0<\/p>\n<p><strong>Enumerator:<\/strong>\n: | <em>HAL_SECURITY_CERTS_DIGEST_TYPE_NONE<\/em> | None |\n| --- | --- |\n| <em>HAL_SECURITY_CERTS_DIGEST_TYPE_MD2<\/em> | MD2 |\n| <em>HAL_SECURITY_CERTS_DIGEST_TYPE_MD4<\/em> | MD4 |\n| <em>HAL_SECURITY_CERTS_DIGEST_TYPE_MD5<\/em> | MD5 |\n| <em>HAL_SECURITY_CERTS_DIGEST_TYPE_SHA1<\/em> | SHA1 |\n| <em>HAL_SECURITY_CERTS_DIGEST_TYPE_SHA224<\/em> | SHA224 |\n| <em>HAL_SECURITY_CERTS_DIGEST_TYPE_SHA256<\/em> | SHA256 |\n| <em>HAL_SECURITY_CERTS_DIGEST_TYPE_SHA384<\/em> | SHA384 |\n| <em>HAL_SECURITY_CERTS_DIGEST_TYPE_SHA512<\/em> | SHA512 |\n| <em>HAL_SECURITY_CERTS_DIGEST_TYPE_RIPEMD160<\/em> | RIPEMD160 |<\/p>\n<hr \/>\n<p>Except as noted, this content - excluding the Code Examples - is licensed under <a href=https://samsungtizenos.com/"http:////creativecommons.org//licenses//by//3.0//legalcode/">Creative Commons Attribution 3.0<\/a>\nand all of the Code Examples contained herein are licensed under <a href=https://samsungtizenos.com/"https:////www.tizen.org//bsd-3-clause-license/">BSD-3-Clause.
Content License<\/a>.<\/p>\n","table_of_content":"<ul class=\"table-of-contents\">\n<li><a href=https://samsungtizenos.com/"#content-required-header\">Required Header<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-overview\">Overview<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-data-structure-documentation\">Data Structure Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-1\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-field-documentation-2\">Field Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-typedef-documentation\">Typedef Documentation<\/a><\/li>\n<li><a href=https://samsungtizenos.com/"#content-enumeration-type-documentation\">Enumeration Type Documentation<\/a><\/li>\n<\/ul>\n","title":"Tizen HAL API: Certs","raw":null},{"class":"App\\Services\\Documentation\\Data\\RenderedMarkdown","s":"wrbl"}]},"memo":{"id":"D9yJk7jZDiMDTHMEHXbT","name":"documentation::article","path":"docs\/platform\/hal\/api\/1.0.0\/group__HALAPI__HAL__SECURITY__CERTS__MODULE","method":"GET","release":"a-a-a","children":[],"scripts":[],"assets":[],"lazyLoaded":false,"lazyIsolated":true,"errors":[],"locale":"en","islands":[]},"checksum":"cba7c6fe85130b2258c89d128c13438112c88c3a8cd268ccfda61243d83fc54e"}" wire:effects="[]" wire:id="D9yJk7jZDiMDTHMEHXbT" wire:name="documentation::article" x-init="$wire.__lazyLoad('eyJkYXRhIjp7ImZvck1vdW50IjpbeyJtYXJrZG93biI6W3siYm9keSI6IjxoMSBpZD1cImNvbnRlbnQtdGl6ZW4taGFsLWFwaS1jZXJ0c1wiPjxhIGhyZWY9XCIjY29udGVudC10aXplbi1oYWwtYXBpLWNlcnRzXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5UaXplbiBIQUwgQVBJOiBDZXJ0czxcL2gxPjxkaXYgZGF0YS1rbm93bGVkZ2UtYmFzZS1tZXRhZGF0YT48XC9kaXY+XG48aHIgXC8+XG48cD5UaGUgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fU0VDVVJJVFlfX0NFUlRTX19NT0RVTEUubWRcIj5DZXJ0czxcL2E+IHByb3ZpZGVzIGZ1bmN0aW9ucyBmb3IgZGV2aWNlIGNlcnRpZmljYXRlcyBhbmQgc2lnbmluZyBvcGVyYXRpb25zLjxcL3A+XG48aDIgaWQ9XCJjb250ZW50LXJlcXVpcmVkLWhlYWRlclwiPjxhIGhyZWY9XCIjY29udGVudC1yZXF1aXJlZC1oZWFkZXJcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlJlcXVpcmVkIEhlYWRlcjxcL2gyPlxuPHA+I2luY2x1ZGUgJmx0O2hhbFwvaGFsLXNlY3VyaXR5LWNlcnRzLmgmZ3Q7PFwvcD5cbjxoMiBpZD1cImNvbnRlbnQtb3ZlcnZpZXdcIj48YSBocmVmPVwiI2NvbnRlbnQtb3ZlcnZpZXdcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPk92ZXJ2aWV3PFwvaDI+XG48cD5UaGUgU2VjdXJpdHkgQ2VydHMgcHJvdmlkZXMgZnVuY3Rpb25zIGZvciBkZXZpY2UgY2VydGlmaWNhdGVzIGFuZCBzaWduaW5nIG9wZXJhdGlvbnMuPFwvcD5cbjxwPlRoZSBTZWN1cml0eSBDZXJ0cyBmdW5jdGlvbnMgcHJvdmlkZSBtZXRob2RzIHRvOjxcL3A+XG48dWw+XG48bGk+TG9hZFwvVW5sb2FkIGZvciBjZXJ0cyBoYWwtYmFja2VuZCBtb2R1bGU8XC9saT5cbjxsaT5DcmVhdGVcL0ZyZWUga2V5IGNvbnRleHQ8XC9saT5cbjxsaT5SZXF1ZXN0IGNlcnRpZmljYXRlIGNoYWluPFwvbGk+XG48bGk+Q3JlYXRlIHNpZ25hdHVyZTxcL2xpPlxuPGxpPkdldCBrZXkgdHlwZVwvbGVuZ3RoPFwvbGk+XG48bGk+Q2FsbCBleHRlbmRlZCBhcGk8XC9saT5cbjxsaT5HZXQgZXh0ZW5kZWQgYXBpIHByaXZpbGVnZTxcL2xpPlxuPFwvdWw+XG48cD5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgU2VjdXJpdHkgQ2VydHMgZmVhdHVyZXMgYW5kIHRoZSBtYWNyb3MsIHNlZSBIQUwgU2VjdXJpdHkgcHJvZ3JhbW1pbmcgZ3VpZGVzIGFuZCB0dXRvcmlhbHMuPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPlR5cGVkZWZzPFwvdGg+XG48dGg+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPHRib2R5PlxuPHRyPlxuPHRkPnR5cGVkZWYgc3RydWN0ICAgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fU0VDVVJJVFlfX0NFUlRTX19NT0RVTEUubWQjc3RydWN0X19oYWxfX2JhY2tlbmRfX3NlY3VyaXR5X19jZXJ0c19fZnVuY3NcIj5faGFsX2JhY2tlbmRfc2VjdXJpdHlfY2VydHNfZnVuY3M8XC9hPjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX1NFQ1VSSVRZX19DRVJUU19fTU9EVUxFLm1kI2dhZTdjNGI0ZWQyNWM0ZTQyOWNjNzlmYjNiY2RhNjMwYTRcIj5oYWxfYmFja2VuZF9zZWN1cml0eV9jZXJ0c19mdW5jczxcL2E+PFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD48XC90ZD5cbjx0ZD5TdHJ1Y3R1cmUgZm9yIHNlY3VyaXR5IGNlcnRzIGZ1bmN0aW9ucy48XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48aHIgXC8+XG48aDIgaWQ9XCJjb250ZW50LWRhdGEtc3RydWN0dXJlLWRvY3VtZW50YXRpb25cIj48YSBocmVmPVwiI2NvbnRlbnQtZGF0YS1zdHJ1Y3R1cmUtZG9jdW1lbnRhdGlvblwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+RGF0YSBTdHJ1Y3R1cmUgRG9jdW1lbnRhdGlvbjxcL2gyPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+c3RydWN0IF9oYWxfYmFja2VuZF9zZWN1cml0eV9jZXJ0c19mdW5jczxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlN0cnVjdHVyZSBmb3Igc2VjdXJpdHkgY2VydHMgZnVuY3Rpb25zLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX1NFQ1VSSVRZX0NFUlRTIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5EYXRhIEZpZWxkczxcL3RoPlxuPHRoPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX1NFQ1VSSVRZX19DRVJUU19fTU9EVUxFLm1kI2E1ZWVhNmQxNjMzYmI1ZmRjZTRhYjlkZTdlNmY1ZjVmMFwiPmNyZWF0ZV9rZXlfY29udGV4dDxcL2E+ICkoPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fU0VDVVJJVFlfX0NFUlRTX19NT0RVTEUubWQjc3RydWN0aGFsX19zZWN1cml0eV9fY2VydHNfX2NvbnRleHRfX3NcIj5oYWxfc2VjdXJpdHlfY2VydHNfY29udGV4dF9zPFwvYT4gKmNvbnRleHQsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX1NFQ1VSSVRZX19DRVJUU19fTU9EVUxFLm1kI3N0cnVjdGhhbF9fc2VjdXJpdHlfX2NlcnRzX19kYXRhX19zXCI+aGFsX3NlY3VyaXR5X2NlcnRzX2RhdGFfczxcL2E+IGtleV90eXBlKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNhYjExZTc4YTM0NDNlZTE2ODAwODE5NjQ3YjA3YjM3OTVcIj5mcmVlX2tleV9jb250ZXh0PFwvYT4gKSg8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNzdHJ1Y3RoYWxfX3NlY3VyaXR5X19jZXJ0c19fY29udGV4dF9fc1wiPmhhbF9zZWN1cml0eV9jZXJ0c19jb250ZXh0X3M8XC9hPiAqY29udGV4dCk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fU0VDVVJJVFlfX0NFUlRTX19NT0RVTEUubWQjYWJhMTFhOWNkYmRkNGQ2NmE4MDE3MGExZGM3N2Q3NDFjXCI+cmVxdWVzdF9jZXJ0aWZpY2F0ZV9jaGFpbjxcL2E+ICkoPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fU0VDVVJJVFlfX0NFUlRTX19NT0RVTEUubWQjc3RydWN0aGFsX19zZWN1cml0eV9fY2VydHNfX2NvbnRleHRfX3NcIj5oYWxfc2VjdXJpdHlfY2VydHNfY29udGV4dF9zPFwvYT4gKmNvbnRleHQsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX1NFQ1VSSVRZX19DRVJUU19fTU9EVUxFLm1kI3N0cnVjdGhhbF9fc2VjdXJpdHlfX2NlcnRzX19kYXRhX19zXCI+aGFsX3NlY3VyaXR5X2NlcnRzX2RhdGFfczxcL2E+ICpjZXJ0X2NoYWluKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNhYjY5ODk2OWE4NjhhMGY3ODQ3OTIwN2UyOTY3MDEwNTBcIj5zaWduX2NyeXB0b19kYXRhPFwvYT4gKSg8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNzdHJ1Y3RoYWxfX3NlY3VyaXR5X19jZXJ0c19fY29udGV4dF9fc1wiPmhhbF9zZWN1cml0eV9jZXJ0c19jb250ZXh0X3M8XC9hPiAqY29udGV4dCwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fU0VDVVJJVFlfX0NFUlRTX19NT0RVTEUubWQjZ2FlZDdiMTk0MGZhMGU3NDg0MzBjMDM4YmVkYThhMTI2NFwiPmhhbF9zZWN1cml0eV9jZXJ0c19kaWdlc3RfdHlwZV9lPFwvYT4gZGlnZXN0X3R5cGUsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX1NFQ1VSSVRZX19DRVJUU19fTU9EVUxFLm1kI3N0cnVjdGhhbF9fc2VjdXJpdHlfX2NlcnRzX19kYXRhX19zXCI+aGFsX3NlY3VyaXR5X2NlcnRzX2RhdGFfczxcL2E+IG1lc3NhZ2UsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX1NFQ1VSSVRZX19DRVJUU19fTU9EVUxFLm1kI3N0cnVjdGhhbF9fc2VjdXJpdHlfX2NlcnRzX19kYXRhX19zXCI+aGFsX3NlY3VyaXR5X2NlcnRzX2RhdGFfczxcL2E+ICpzaWduYXR1cmUpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX1NFQ1VSSVRZX19DRVJUU19fTU9EVUxFLm1kI2EyYTE4YTMyMGRkZGRmM2NhMmE1NmU1NjZkMWU4ZjhjN1wiPmdldF9rZXlfdHlwZTxcL2E+ICkoPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fU0VDVVJJVFlfX0NFUlRTX19NT0RVTEUubWQjc3RydWN0aGFsX19zZWN1cml0eV9fY2VydHNfX2NvbnRleHRfX3NcIj5oYWxfc2VjdXJpdHlfY2VydHNfY29udGV4dF9zPFwvYT4gKmNvbnRleHQsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX1NFQ1VSSVRZX19DRVJUU19fTU9EVUxFLm1kI2dhZWVlNmQyMzcyMGZiNjQ4NzgwN2JmNzM4YjJkZjFmMzVcIj5oYWxfc2VjdXJpdHlfY2VydHNfY3J5cHRvX2tleV90eXBlX2U8XC9hPiAqa2V5X3R5cGUpPFwvdGQ+XG48XC90cj5cbjx0cj5cbjx0ZD5pbnQoKjxcL3RkPlxuPHRkPjxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX1NFQ1VSSVRZX19DRVJUU19fTU9EVUxFLm1kI2E2ZmZmMDUxMzYxZTYxNTQwM2Q3ZWQ5MDRkYTNmYTNhMVwiPmdldF9rZXlfYml0X2xlbmd0aDxcL2E+ICkoPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fU0VDVVJJVFlfX0NFUlRTX19NT0RVTEUubWQjc3RydWN0aGFsX19zZWN1cml0eV9fY2VydHNfX2NvbnRleHRfX3NcIj5oYWxfc2VjdXJpdHlfY2VydHNfY29udGV4dF9zPFwvYT4gKmNvbnRleHQsIHVuc2lnbmVkIGludCAqa2V5X2xlbmd0aCk8XC90ZD5cbjxcL3RyPlxuPHRyPlxuPHRkPmludCgqPFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fU0VDVVJJVFlfX0NFUlRTX19NT0RVTEUubWQjYTk5MTFhODE2NmU4OTg4ZTJjNjYxYjYxNmZjODJjZTAwXCI+ZXh0X2NhbGxfYXBpPFwvYT4gKSg8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNzdHJ1Y3RoYWxfX3NlY3VyaXR5X19jZXJ0c19fZGF0YV9fc1wiPmhhbF9zZWN1cml0eV9jZXJ0c19kYXRhX3M8XC9hPiBtZXRob2RfbmFtZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fU0VDVVJJVFlfX0NFUlRTX19NT0RVTEUubWQjc3RydWN0aGFsX19zZWN1cml0eV9fY2VydHNfX2RhdGFfX3NcIj5oYWxfc2VjdXJpdHlfY2VydHNfZGF0YV9zPFwvYT4gaW5wdXRfZGF0YSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fU0VDVVJJVFlfX0NFUlRTX19NT0RVTEUubWQjc3RydWN0aGFsX19zZWN1cml0eV9fY2VydHNfX2RhdGFfX3NcIj5oYWxfc2VjdXJpdHlfY2VydHNfZGF0YV9zPFwvYT4gKm91dHB1dF9kYXRhKTxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+aW50KCo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNhYjIwOTBiYzkzN2YxNzZkNjk1NWRhODZjODhlNzMyNDZcIj5leHRfZ2V0X2FwaV9wcml2aWxlZ2U8XC9hPiApKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX1NFQ1VSSVRZX19DRVJUU19fTU9EVUxFLm1kI3N0cnVjdGhhbF9fc2VjdXJpdHlfX2NlcnRzX19kYXRhX19zXCI+aGFsX3NlY3VyaXR5X2NlcnRzX2RhdGFfczxcL2E+IG1ldGhvZF9uYW1lLCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNzdHJ1Y3RoYWxfX3NlY3VyaXR5X19jZXJ0c19fZGF0YV9fc1wiPmhhbF9zZWN1cml0eV9jZXJ0c19kYXRhX3M8XC9hPiAqcHJpdmlsZWdlKTxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvblwiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uXCIgY2xhc3M9XCJoZWFkaW5nLXBlcm1hbGlua1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIHRpdGxlPVwiUGVybWFsaW5rXCI+XHUwMGI2PFwvYT5GaWVsZCBEb2N1bWVudGF0aW9uPFwvaDQ+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNhNWVlYTZkMTYzM2JiNWZkY2U0YWI5ZGU3ZTZmNWY1ZjBcIj5faGFsX2JhY2tlbmRfc2VjdXJpdHlfY2VydHNfZnVuY3M6OmNyZWF0ZV9rZXlfY29udGV4dDxcL2E+KSg8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNzdHJ1Y3RoYWxfX3NlY3VyaXR5X19jZXJ0c19fY29udGV4dF9fc1wiPmhhbF9zZWN1cml0eV9jZXJ0c19jb250ZXh0X3M8XC9hPiAqY29udGV4dCwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fU0VDVVJJVFlfX0NFUlRTX19NT0RVTEUubWQjc3RydWN0aGFsX19zZWN1cml0eV9fY2VydHNfX2RhdGFfX3NcIj5oYWxfc2VjdXJpdHlfY2VydHNfZGF0YV9zPFwvYT4ga2V5X3R5cGUpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+Q3JlYXRlIG5ldyBrZXkgY29udGV4dDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNhOTkxMWE4MTY2ZTg5ODhlMmM2NjFiNjE2ZmM4MmNlMDBcIj5faGFsX2JhY2tlbmRfc2VjdXJpdHlfY2VydHNfZnVuY3M6OmV4dF9jYWxsX2FwaTxcL2E+KSg8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNzdHJ1Y3RoYWxfX3NlY3VyaXR5X19jZXJ0c19fZGF0YV9fc1wiPmhhbF9zZWN1cml0eV9jZXJ0c19kYXRhX3M8XC9hPiBtZXRob2RfbmFtZSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fU0VDVVJJVFlfX0NFUlRTX19NT0RVTEUubWQjc3RydWN0aGFsX19zZWN1cml0eV9fY2VydHNfX2RhdGFfX3NcIj5oYWxfc2VjdXJpdHlfY2VydHNfZGF0YV9zPFwvYT4gaW5wdXRfZGF0YSwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fU0VDVVJJVFlfX0NFUlRTX19NT0RVTEUubWQjc3RydWN0aGFsX19zZWN1cml0eV9fY2VydHNfX2RhdGFfX3NcIj5oYWxfc2VjdXJpdHlfY2VydHNfZGF0YV9zPFwvYT4gKm91dHB1dF9kYXRhKTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkNhbGwgZXh0ZW5kZWQgQVBJPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX1NFQ1VSSVRZX19DRVJUU19fTU9EVUxFLm1kI2FiMjA5MGJjOTM3ZjE3NmQ2OTU1ZGE4NmM4OGU3MzI0NlwiPl9oYWxfYmFja2VuZF9zZWN1cml0eV9jZXJ0c19mdW5jczo6ZXh0X2dldF9hcGlfcHJpdmlsZWdlPFwvYT4pKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX1NFQ1VSSVRZX19DRVJUU19fTU9EVUxFLm1kI3N0cnVjdGhhbF9fc2VjdXJpdHlfX2NlcnRzX19kYXRhX19zXCI+aGFsX3NlY3VyaXR5X2NlcnRzX2RhdGFfczxcL2E+IG1ldGhvZF9uYW1lLCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNzdHJ1Y3RoYWxfX3NlY3VyaXR5X19jZXJ0c19fZGF0YV9fc1wiPmhhbF9zZWN1cml0eV9jZXJ0c19kYXRhX3M8XC9hPiAqcHJpdmlsZWdlKTxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkdldCBleHRlbmRlZCBBUEkgcHJpdmlsZWdlPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX1NFQ1VSSVRZX19DRVJUU19fTU9EVUxFLm1kI2FiMTFlNzhhMzQ0M2VlMTY4MDA4MTk2NDdiMDdiMzc5NVwiPl9oYWxfYmFja2VuZF9zZWN1cml0eV9jZXJ0c19mdW5jczo6ZnJlZV9rZXlfY29udGV4dDxcL2E+KSg8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNzdHJ1Y3RoYWxfX3NlY3VyaXR5X19jZXJ0c19fY29udGV4dF9fc1wiPmhhbF9zZWN1cml0eV9jZXJ0c19jb250ZXh0X3M8XC9hPiAqY29udGV4dCk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5GcmVlIGtleSBjb250ZXh0PFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX1NFQ1VSSVRZX19DRVJUU19fTU9EVUxFLm1kI2E2ZmZmMDUxMzYxZTYxNTQwM2Q3ZWQ5MDRkYTNmYTNhMVwiPl9oYWxfYmFja2VuZF9zZWN1cml0eV9jZXJ0c19mdW5jczo6Z2V0X2tleV9iaXRfbGVuZ3RoPFwvYT4pKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX1NFQ1VSSVRZX19DRVJUU19fTU9EVUxFLm1kI3N0cnVjdGhhbF9fc2VjdXJpdHlfX2NlcnRzX19jb250ZXh0X19zXCI+aGFsX3NlY3VyaXR5X2NlcnRzX2NvbnRleHRfczxcL2E+ICpjb250ZXh0LCB1bnNpZ25lZCBpbnQgKmtleV9sZW5ndGgpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+R2V0IGtleSBsZW5ndGggaW4gYml0czxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5pbnQoKiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNhMmExOGEzMjBkZGRkZjNjYTJhNTZlNTY2ZDFlOGY4YzdcIj5faGFsX2JhY2tlbmRfc2VjdXJpdHlfY2VydHNfZnVuY3M6OmdldF9rZXlfdHlwZTxcL2E+KSg8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNzdHJ1Y3RoYWxfX3NlY3VyaXR5X19jZXJ0c19fY29udGV4dF9fc1wiPmhhbF9zZWN1cml0eV9jZXJ0c19jb250ZXh0X3M8XC9hPiAqY29udGV4dCwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fU0VDVVJJVFlfX0NFUlRTX19NT0RVTEUubWQjZ2FlZWU2ZDIzNzIwZmI2NDg3ODA3YmY3MzhiMmRmMWYzNVwiPmhhbF9zZWN1cml0eV9jZXJ0c19jcnlwdG9fa2V5X3R5cGVfZTxcL2E+ICprZXlfdHlwZSk8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5HZXQga2V5IHR5cGU8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+aW50KCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fU0VDVVJJVFlfX0NFUlRTX19NT0RVTEUubWQjYWJhMTFhOWNkYmRkNGQ2NmE4MDE3MGExZGM3N2Q3NDFjXCI+X2hhbF9iYWNrZW5kX3NlY3VyaXR5X2NlcnRzX2Z1bmNzOjpyZXF1ZXN0X2NlcnRpZmljYXRlX2NoYWluPFwvYT4pKDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX1NFQ1VSSVRZX19DRVJUU19fTU9EVUxFLm1kI3N0cnVjdGhhbF9fc2VjdXJpdHlfX2NlcnRzX19jb250ZXh0X19zXCI+aGFsX3NlY3VyaXR5X2NlcnRzX2NvbnRleHRfczxcL2E+ICpjb250ZXh0LCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNzdHJ1Y3RoYWxfX3NlY3VyaXR5X19jZXJ0c19fZGF0YV9fc1wiPmhhbF9zZWN1cml0eV9jZXJ0c19kYXRhX3M8XC9hPiAqY2VydF9jaGFpbik8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5SZXF1ZXN0IGNlcnRpZmljYXRlIGNoYWluPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmludCgqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX1NFQ1VSSVRZX19DRVJUU19fTU9EVUxFLm1kI2FiNjk4OTY5YTg2OGEwZjc4NDc5MjA3ZTI5NjcwMTA1MFwiPl9oYWxfYmFja2VuZF9zZWN1cml0eV9jZXJ0c19mdW5jczo6c2lnbl9jcnlwdG9fZGF0YTxcL2E+KSg8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNzdHJ1Y3RoYWxfX3NlY3VyaXR5X19jZXJ0c19fY29udGV4dF9fc1wiPmhhbF9zZWN1cml0eV9jZXJ0c19jb250ZXh0X3M8XC9hPiAqY29udGV4dCwgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fU0VDVVJJVFlfX0NFUlRTX19NT0RVTEUubWQjZ2FlZDdiMTk0MGZhMGU3NDg0MzBjMDM4YmVkYThhMTI2NFwiPmhhbF9zZWN1cml0eV9jZXJ0c19kaWdlc3RfdHlwZV9lPFwvYT4gZGlnZXN0X3R5cGUsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX1NFQ1VSSVRZX19DRVJUU19fTU9EVUxFLm1kI3N0cnVjdGhhbF9fc2VjdXJpdHlfX2NlcnRzX19kYXRhX19zXCI+aGFsX3NlY3VyaXR5X2NlcnRzX2RhdGFfczxcL2E+IG1lc3NhZ2UsIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX1NFQ1VSSVRZX19DRVJUU19fTU9EVUxFLm1kI3N0cnVjdGhhbF9fc2VjdXJpdHlfX2NlcnRzX19kYXRhX19zXCI+aGFsX3NlY3VyaXR5X2NlcnRzX2RhdGFfczxcL2E+ICpzaWduYXR1cmUpPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+U2lnbiBkYXRhPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnN0cnVjdCBoYWxfc2VjdXJpdHlfY2VydHNfY29udGV4dF9zPFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+U3RydWN0dXJlIGZvciBzZWN1cml0eSBjZXJ0cyBjb250ZXh0LjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX1NFQ1VSSVRZX0NFUlRTIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5EYXRhIEZpZWxkczxcL3RoPlxuPHRoPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD52b2lkICo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNhZjFkYzIwZjkxYzk3NjVlY2NhYTUzMzc5MWU2Yjg1MjhcIj5jdHg8XC9hPjxcL3RkPlxuPFwvdHI+XG48XC90Ym9keT5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxociBcLz5cbjxoNCBpZD1cImNvbnRlbnQtZmllbGQtZG9jdW1lbnRhdGlvbi0xXCI+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMVwiIGNsYXNzPVwiaGVhZGluZy1wZXJtYWxpbmtcIiBhcmlhLWhpZGRlbj1cInRydWVcIiB0aXRsZT1cIlBlcm1hbGlua1wiPlx1MDBiNjxcL2E+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2g0PlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dm9pZCogPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fU0VDVVJJVFlfX0NFUlRTX19NT0RVTEUubWQjYWYxZGMyMGY5MWM5NzY1ZWNjYWE1MzM3OTFlNmI4NTI4XCI+aGFsX3NlY3VyaXR5X2NlcnRzX2NvbnRleHRfczo6Y3R4PFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5CYWNrZW5kIGNvbnRleHQ8XC9wPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+c3RydWN0IGhhbF9zZWN1cml0eV9jZXJ0c19kYXRhX3M8XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5TdHJ1Y3R1cmUgZm9yIGJpbmFyeSBkYXRhIGV4Y2hhbmdlLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX1NFQ1VSSVRZX0NFUlRTIDEuMDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5EYXRhIEZpZWxkczxcL3RoPlxuPHRoPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjx0Ym9keT5cbjx0cj5cbjx0ZD5jaGFyICo8XC90ZD5cbjx0ZD48YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNhMjQ0OWRiODMwOTI1NDViMTIwOGEzNjdiMzI1MDAzMGRcIj5idWZmZXI8XC9hPjxcL3RkPlxuPFwvdHI+XG48dHI+XG48dGQ+c2l6ZV90PFwvdGQ+XG48dGQ+PGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fU0VDVVJJVFlfX0NFUlRTX19NT0RVTEUubWQjYTY5ZDhhYTM0MWY3ODI5NmMxYjAwYWQxOGQ4NDQxNjg1XCI+bGVuZ3RoPFwvYT48XC90ZD5cbjxcL3RyPlxuPFwvdGJvZHk+XG48XC90YWJsZT48XC9kaXY+XG48aHIgXC8+XG48aDQgaWQ9XCJjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMlwiPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTJcIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkZpZWxkIERvY3VtZW50YXRpb248XC9oND5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPmNoYXIqIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX1NFQ1VSSVRZX19DRVJUU19fTU9EVUxFLm1kI2EyNDQ5ZGI4MzA5MjU0NWIxMjA4YTM2N2IzMjUwMDMwZFwiPmhhbF9zZWN1cml0eV9jZXJ0c19kYXRhX3M6OmJ1ZmZlcjxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+QmluYXJ5IGRhdGEgYnVmZmVyPFwvcD5cbjxkaXYgY2xhc3M9XCJvdmVyZmxvdy1hdXRvIGdyaWQgdGFibGUtZml4ZWRcIiBkYXRhLXRhYmxlLWNvbnRhaW5lcj1cImRhdGEtdGFibGUtY29udGFpbmVyXCI+PHRhYmxlPlxuPHRoZWFkPlxuPHRyPlxuPHRoPnNpemVfdCA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNhNjlkOGFhMzQxZjc4Mjk2YzFiMDBhZDE4ZDg0NDE2ODVcIj5oYWxfc2VjdXJpdHlfY2VydHNfZGF0YV9zOjpsZW5ndGg8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPkJpbmFyeSBkYXRhIGxlbmd0aDxcL3A+XG48aHIgXC8+XG48aDIgaWQ9XCJjb250ZW50LXR5cGVkZWYtZG9jdW1lbnRhdGlvblwiPjxhIGhyZWY9XCIjY29udGVudC10eXBlZGVmLWRvY3VtZW50YXRpb25cIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPlR5cGVkZWYgRG9jdW1lbnRhdGlvbjxcL2gyPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+dHlwZWRlZiBzdHJ1Y3QgPGEgaHJlZj1cImdyb3VwX19IQUxBUElfX0hBTF9fU0VDVVJJVFlfX0NFUlRTX19NT0RVTEUubWQjc3RydWN0X19oYWxfX2JhY2tlbmRfX3NlY3VyaXR5X19jZXJ0c19fZnVuY3NcIj5faGFsX2JhY2tlbmRfc2VjdXJpdHlfY2VydHNfZnVuY3M8XC9hPiA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNnYWU3YzRiNGVkMjVjNGU0MjljYzc5ZmIzYmNkYTYzMGE0XCI+aGFsX2JhY2tlbmRfc2VjdXJpdHlfY2VydHNfZnVuY3M8XC9hPjxcL3RoPlxuPFwvdHI+XG48XC90aGVhZD5cbjxcL3RhYmxlPjxcL2Rpdj5cbjxwPlN0cnVjdHVyZSBmb3Igc2VjdXJpdHkgY2VydHMgZnVuY3Rpb25zLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX1NFQ1VSSVRZX0NFUlRTIDEuMDxcL3A+XG48aHIgXC8+XG48aDIgaWQ9XCJjb250ZW50LWVudW1lcmF0aW9uLXR5cGUtZG9jdW1lbnRhdGlvblwiPjxhIGhyZWY9XCIjY29udGVudC1lbnVtZXJhdGlvbi10eXBlLWRvY3VtZW50YXRpb25cIiBjbGFzcz1cImhlYWRpbmctcGVybWFsaW5rXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgdGl0bGU9XCJQZXJtYWxpbmtcIj5cdTAwYjY8XC9hPkVudW1lcmF0aW9uIFR5cGUgRG9jdW1lbnRhdGlvbjxcL2gyPlxuPGRpdiBjbGFzcz1cIm92ZXJmbG93LWF1dG8gZ3JpZCB0YWJsZS1maXhlZFwiIGRhdGEtdGFibGUtY29udGFpbmVyPVwiZGF0YS10YWJsZS1jb250YWluZXJcIj48dGFibGU+XG48dGhlYWQ+XG48dHI+XG48dGg+ZW51bSA8YSBocmVmPVwiZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRS5tZCNnYWVlZTZkMjM3MjBmYjY0ODc4MDdiZjczOGIyZGYxZjM1XCI+aGFsX3NlY3VyaXR5X2NlcnRzX2NyeXB0b19rZXlfdHlwZV9lPFwvYT48XC90aD5cbjxcL3RyPlxuPFwvdGhlYWQ+XG48XC90YWJsZT48XC9kaXY+XG48cD5FbnVtZXJhdGlvbiBmb3IgY3J5cHRvZ3JhcGhpYyBrZXkgdHlwZS48XC9wPlxuPHA+PHN0cm9uZz5TaW5jZTo8XC9zdHJvbmc+XG46ICAgSEFMX01PRFVMRV9TRUNVUklUWV9DRVJUUyAxLjA8XC9wPlxuPHA+PHN0cm9uZz5FbnVtZXJhdG9yOjxcL3N0cm9uZz5cbjogICB8IDxlbT5IQUxfU0VDVVJJVFlfQ0VSVFNfS0VZX1RZUEVfSU5WQUxJRDxcL2VtPiB8IEludmFsaWQgdHlwZSB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5IQUxfU0VDVVJJVFlfQ0VSVFNfS0VZX1RZUEVfRUNEU0E8XC9lbT4gfCBFQ0RTQSBrZXkgfFxufCA8ZW0+SEFMX1NFQ1VSSVRZX0NFUlRTX0tFWV9UWVBFX1JTQTxcL2VtPiB8IFJTQSBrZXkgfDxcL3A+XG48ZGl2IGNsYXNzPVwib3ZlcmZsb3ctYXV0byBncmlkIHRhYmxlLWZpeGVkXCIgZGF0YS10YWJsZS1jb250YWluZXI9XCJkYXRhLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZT5cbjx0aGVhZD5cbjx0cj5cbjx0aD5lbnVtIDxhIGhyZWY9XCJncm91cF9fSEFMQVBJX19IQUxfX1NFQ1VSSVRZX19DRVJUU19fTU9EVUxFLm1kI2dhZWQ3YjE5NDBmYTBlNzQ4NDMwYzAzOGJlZGE4YTEyNjRcIj5oYWxfc2VjdXJpdHlfY2VydHNfZGlnZXN0X3R5cGVfZTxcL2E+PFwvdGg+XG48XC90cj5cbjxcL3RoZWFkPlxuPFwvdGFibGU+PFwvZGl2PlxuPHA+RW51bWVyYXRpb24gZm9yIG1lc3NhZ2UgZGlnZXN0IGFsZ29yaXRobSB0eXBlLjxcL3A+XG48cD48c3Ryb25nPlNpbmNlOjxcL3N0cm9uZz5cbjogICBIQUxfTU9EVUxFX1NFQ1VSSVRZX0NFUlRTIDEuMDxcL3A+XG48cD48c3Ryb25nPkVudW1lcmF0b3I6PFwvc3Ryb25nPlxuOiAgIHwgPGVtPkhBTF9TRUNVUklUWV9DRVJUU19ESUdFU1RfVFlQRV9OT05FPFwvZW0+IHwgTm9uZSB8XG58IC0tLSB8IC0tLSB8XG58IDxlbT5IQUxfU0VDVVJJVFlfQ0VSVFNfRElHRVNUX1RZUEVfTUQyPFwvZW0+IHwgTUQyIHxcbnwgPGVtPkhBTF9TRUNVUklUWV9DRVJUU19ESUdFU1RfVFlQRV9NRDQ8XC9lbT4gfCBNRDQgfFxufCA8ZW0+SEFMX1NFQ1VSSVRZX0NFUlRTX0RJR0VTVF9UWVBFX01ENTxcL2VtPiB8IE1ENSB8XG58IDxlbT5IQUxfU0VDVVJJVFlfQ0VSVFNfRElHRVNUX1RZUEVfU0hBMTxcL2VtPiB8IFNIQTEgfFxufCA8ZW0+SEFMX1NFQ1VSSVRZX0NFUlRTX0RJR0VTVF9UWVBFX1NIQTIyNDxcL2VtPiB8IFNIQTIyNCB8XG58IDxlbT5IQUxfU0VDVVJJVFlfQ0VSVFNfRElHRVNUX1RZUEVfU0hBMjU2PFwvZW0+IHwgU0hBMjU2IHxcbnwgPGVtPkhBTF9TRUNVUklUWV9DRVJUU19ESUdFU1RfVFlQRV9TSEEzODQ8XC9lbT4gfCBTSEEzODQgfFxufCA8ZW0+SEFMX1NFQ1VSSVRZX0NFUlRTX0RJR0VTVF9UWVBFX1NIQTUxMjxcL2VtPiB8IFNIQTUxMiB8XG58IDxlbT5IQUxfU0VDVVJJVFlfQ0VSVFNfRElHRVNUX1RZUEVfUklQRU1EMTYwPFwvZW0+IHwgUklQRU1EMTYwIHw8XC9wPlxuPGhyIFwvPlxuPHA+RXhjZXB0IGFzIG5vdGVkLCB0aGlzIGNvbnRlbnQgLSBleGNsdWRpbmcgdGhlIENvZGUgRXhhbXBsZXMgLSBpcyBsaWNlbnNlZCB1bmRlciA8YSBocmVmPVwiaHR0cDpcL1wvY3JlYXRpdmVjb21tb25zLm9yZ1wvbGljZW5zZXNcL2J5XC8zLjBcL2xlZ2FsY29kZVwiPkNyZWF0aXZlIENvbW1vbnMgQXR0cmlidXRpb24gMy4wPFwvYT5cbmFuZCBhbGwgb2YgdGhlIENvZGUgRXhhbXBsZXMgY29udGFpbmVkIGhlcmVpbiBhcmUgbGljZW5zZWQgdW5kZXIgPGEgaHJlZj1cImh0dHBzOlwvXC93d3cudGl6ZW4ub3JnXC9ic2QtMy1jbGF1c2UtbGljZW5zZVwiPkJTRC0zLUNsYXVzZTxcL2E+LjxiciBcLz5cbkZvciBkZXRhaWxzLCBzZWUgdGhlIDxhIGhyZWY9XCJodHRwczpcL1wvd3d3LnRpemVuLm9yZ1wvY29udGVudC1saWNlbnNlXCI+Q29udGVudCBMaWNlbnNlPFwvYT4uPFwvcD5cbiIsInRhYmxlX29mX2NvbnRlbnQiOiI8dWwgY2xhc3M9XCJ0YWJsZS1vZi1jb250ZW50c1wiPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1yZXF1aXJlZC1oZWFkZXJcIj5SZXF1aXJlZCBIZWFkZXI8XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1vdmVydmlld1wiPk92ZXJ2aWV3PFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZGF0YS1zdHJ1Y3R1cmUtZG9jdW1lbnRhdGlvblwiPkRhdGEgU3RydWN0dXJlIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uXCI+RmllbGQgRG9jdW1lbnRhdGlvbjxcL2E+PFwvbGk+XG48bGk+PGEgaHJlZj1cIiNjb250ZW50LWZpZWxkLWRvY3VtZW50YXRpb24tMVwiPkZpZWxkIERvY3VtZW50YXRpb248XC9hPjxcL2xpPlxuPGxpPjxhIGhyZWY9XCIjY29udGVudC1maWVsZC1kb2N1bWVudGF0aW9uLTJcIj5GaWVsZCBEb2N1bWVudGF0aW9uPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtdHlwZWRlZi1kb2N1bWVudGF0aW9uXCI+VHlwZWRlZiBEb2N1bWVudGF0aW9uPFwvYT48XC9saT5cbjxsaT48YSBocmVmPVwiI2NvbnRlbnQtZW51bWVyYXRpb24tdHlwZS1kb2N1bWVudGF0aW9uXCI+RW51bWVyYXRpb24gVHlwZSBEb2N1bWVudGF0aW9uPFwvYT48XC9saT5cbjxcL3VsPlxuIiwidGl0bGUiOiJUaXplbiBIQUwgQVBJOiBDZXJ0cyIsInJhdyI6bnVsbH0seyJjbGFzcyI6IkFwcFxcU2VydmljZXNcXERvY3VtZW50YXRpb25cXERhdGFcXFJlbmRlcmVkTWFya2Rvd24iLCJzIjoid3JibCJ9XX0seyJzIjoiYXJyIn1dfSwibWVtbyI6eyJpZCI6Ik1sRWYzSVA3OGtsc3l0SFFYQTM2IiwibmFtZSI6Il9fbW91bnRQYXJhbXNDb250YWluZXIiLCJwYXRoIjoiZG9jc1wvcGxhdGZvcm1cL2hhbFwvYXBpXC8xLjAuMFwvZ3JvdXBfX0hBTEFQSV9fSEFMX19TRUNVUklUWV9fQ0VSVFNfX01PRFVMRSIsIm1ldGhvZCI6IkdFVCIsInJlbGVhc2UiOiJhLWEtYSJ9LCJjaGVja3N1bSI6IjhiMDM4NjM5MmUzNDlhOTVlY2VhM2Q0YTQyZjgwY2Y1MmY5OWM1NWNmM2NlN2M2MDljOTk2MmI2YjFhYTBhOGQifQ==')" >

For the best experience,
Please visit us from a computer

Copyright © 2026 SAMSUNG. All rights reserved.

Customize your cookie preferences

You can enable or disable non-essential cookies. Essential cookies are always on to ensure the site works properly and to keep you signed in.

Necessary

These cookies are necessary for the website to function properly and cannot be switched off. They help with things like logging in and setting your privacy preferences.

Always on

Analytics

These cookies help us improve the site by tracking which pages are most popular and how visitors move around the site.

Enable analytics cookies
Public Forum Public Forum
Employees only. Please sign in with your company account.