ADD_SUBDIRECTORY(roaming_agent)
ADD_SUBDIRECTORY(common/dbus_interfaces)
ADD_SUBDIRECTORY(bt_roaming_agent)
-ADD_SUBDIRECTORY(ble_roaming_agent)
+##ADD_SUBDIRECTORY(ble_roaming_agent)
ADD_DEPENDENCIES(fido-asm fido-asm-dbus)
ADD_DEPENDENCIES(fido-bt-ragent-service fido-asm-dbus)
-ADD_DEPENDENCIES(fido-ble-ragent-service fido-asm-dbus)
+##ADD_DEPENDENCIES(fido-ble-ragent-service fido-asm-dbus)
ADD_DEPENDENCIES(fido-roaming-agent-service fido-asm-dbus)
ADD_DEPENDENCIES(asmui fido-asm-dbus)
#define LOG_TAG "org.tizen.fido.asm"
#ifndef _ERR
-#define _ERR(fmt, args...) LOGE("[%s:%d] "fmt"\n", __func__, __LINE__, ##args)
+#define _ERR(fmt, args...) LOGE("[%s:%d] " fmt"\n", __func__, __LINE__, ##args)
#endif
#ifndef _DBG
-#define _DBG(fmt, args...) LOGD("[%s:%d] "fmt"\n", __func__, __LINE__, ##args)
+#define _DBG(fmt, args...) LOGD("[%s:%d] " fmt"\n", __func__, __LINE__, ##args)
#endif
#ifndef _INFO
-#define _INFO(fmt, args...) LOGI("[%s:%d] "fmt"\n", __func__, __LINE__, ##args)
+#define _INFO(fmt, args...) LOGI("[%s:%d] " fmt"\n", __func__, __LINE__, ##args)
#endif
#ifndef _BEGIN
Source2: org.tizen.fido-asm.conf
Source3: fido-asm.service
Source4: fido-roaming-agent.service
-Source5: fido-ble-roaming-agent.service
+##Source5: fido-ble-roaming-agent.service
Source6: fido-bt-roaming-agent.service
BuildRequires: cmake
%install_service multi-user.target.wants fido-roaming-agent.service
mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
-install -m 0644 %SOURCE5 %{buildroot}%{_unitdir}/fido-ble-roaming-agent.service
-%install_service multi-user.target.wants fido-ble-roaming-agent.service
-
-mkdir -p %{buildroot}%{_unitdir}/multi-user.target.wants
install -m 0644 %SOURCE6 %{buildroot}%{_unitdir}/fido-bt-roaming-agent.service
%install_service multi-user.target.wants fido-bt-roaming-agent.service
BuildRequires: pkgconfig(glib-2.0) >= 2.26
BuildRequires: pkgconfig(gio-unix-2.0)
BuildRequires: pkgconfig(capi-network-connection)
+BuildRequires: pkgconfig(syspopup-caller)
+BuildRequires: pkgconfig(buxton2)
%description -n fido_silent
FIDO Silent Authenticator
#################################################################################
# FIDO BLE Roaming Agent
#################################################################################
-%package -n fido_ble_roaming_agent
-Summary: FIDO BLE Roaming Agent
-Group: Account
-
-BuildRequires: cmake
-BuildRequires: pkgconfig(capi-appfw-application)
-BuildRequires: pkgconfig(dlog)
-BuildRequires: pkgconfig(bundle)
-BuildRequires: pkgconfig(json-glib-1.0)
-BuildRequires: pkgconfig(glib-2.0) >= 2.26
-BuildRequires: pkgconfig(gio-unix-2.0)
-BuildRequires: pkgconfig(capi-network-connection)
-BuildRequires: pkgconfig(capi-network-bluetooth)
-
-
-%description -n fido_ble_roaming_agent
-FIDO BT Roaming Agent GATT Server
-
-%files -n fido_ble_roaming_agent
-%manifest fido-ble-ragent.manifest
-%{_bindir}/fido-ble-ragent-service
-%{_unitdir}/fido-ble-roaming-agent.service
-%{_unitdir}/multi-user.target.wants/fido-ble-roaming-agent.service
+##%package -n fido_ble_roaming_agent
+##Summary: FIDO BLE Roaming Agent
+##Group: Account
+
+##BuildRequires: cmake
+##BuildRequires: pkgconfig(capi-appfw-application)
+##BuildRequires: pkgconfig(dlog)
+##BuildRequires: pkgconfig(bundle)
+##BuildRequires: pkgconfig(json-glib-1.0)
+##BuildRequires: pkgconfig(glib-2.0) >= 2.26
+##BuildRequires: pkgconfig(gio-unix-2.0)
+##BuildRequires: pkgconfig(capi-network-connection)
+##BuildRequires: pkgconfig(capi-network-bluetooth)
+
+
+##%description -n fido_ble_roaming_agent
+##FIDO BT Roaming Agent GATT Server
+
+##%files -n fido_ble_roaming_agent
+##%manifest fido-ble-ragent.manifest
+##%{_bindir}/fido-ble-ragent-service
+##%{_unitdir}/fido-ble-roaming-agent.service
+##%{_unitdir}/multi-user.target.wants/fido-ble-roaming-agent.service
#################################################################################
# FIDO BT Roaming Agent
__providerList.push_back(badPro);
- if (RoamingUtil::isRASupported() == true) {
- IADProvider *radPro = new IotADProvider();
- int retRa = radPro->init();
- if (retRa == 0) {
- _INFO("Roaming Provider=[%p]", radPro);
- __providerList.push_back(radPro);
- } else {
- _INFO("RA not supported");
- delete radPro;
- }
- }
-
- IADProvider *blePro = new BleAdProvider();
- int retBle = blePro->init();
- if (retBle == 0) {
- _INFO("BLE Provider=[%p]", blePro);
- __providerList.push_back(blePro);
- } else {
- _INFO("BLE Provider not supported");
- delete blePro;
- }
+// if (RoamingUtil::isRASupported() == true) {
+// IADProvider *radPro = new IotADProvider();
+// int retRa = radPro->init();
+// if (retRa == 0) {
+// _INFO("Roaming Provider=[%p]", radPro);
+// __providerList.push_back(radPro);
+// } else {
+// _INFO("RA not supported");
+// delete radPro;
+// }
+// }
+
+// IADProvider *blePro = new BleAdProvider();
+// int retBle = blePro->init();
+// if (retBle == 0) {
+// _INFO("BLE Provider=[%p]", blePro);
+// __providerList.push_back(blePro);
+// } else {
+// _INFO("BLE Provider not supported");
+// delete blePro;
+// }
IADProvider *btPro = new BtAdProvider();
int retBt = btPro->init();
capi-network-connection
aul
libtzplatform-config
+ syspopup-caller
+ capi-appfw-application
+ capi-appfw-app-manager
+ buxton2
)
FOREACH(flag ${SILENT_AUTH_PKGS_CFLAGS})
--- /dev/null
+========================================================================
+FIDO Authenticator Plugin based on Auth-FW
+========================================================================
+This is a FIDO Authenticator which utilizes Tizen Device PIN using "auth-fw".
+This utilizes fido-syspopup for PIN UI.
+
+Instructions for TM1, Bound Use Case:
+
+Setup:-
+1. Build fido-asm and fido-syspopup
+2. Uninstall dummyasm
+3. Install fido-asm, fido_silent_auth using rpm -ivh --force command.
+4. Install fido-syspopup as globalapp:
+ - rpm -ivh --force --nodeps /home/org.tizen.fido-syspopup-1.0-1.armv7l.rpm
+ - tpk-backend -y org.tizen.fido-syspopup --preload
+5. (Once per device only) Add org.tizen.fido-syspopup into auth-fw client whitelist
+ - echo "User::Pkg::org.tizen.fido-syspopup" >> /etc/auth-fw/client-whitelist
+6. Install rademotv from IDE
+If IDE does not recognize TM1 then:
+sdb push org.example.rademotv-1.0.0-arm.tpk /opt/usr/home/owner/apps_rw/tmp
+sdb shell tpk-backend -i /opt/usr/home/owner/apps_rw/tmp/org.example.rademotv-1.0.0-arm.tpk
+sdb shell tpk-backend -i /opt/usr/home/owner/apps_rw/tmp/org.example.rademotv-1.0.0-arm.tpk --preload
+
+6. Reboot
+
+Test:-
+1. Launch RADemoTV.
+2. Register New user.
+3. Enter any name.
+4. PIN UI will be launched, enter 2 digit PIN, confirm the same again.
+(If the device already has PIN setup previously via Settings, then instead of setting new PIN you must enter the
+previous PIN)
+5. Registration completes.
+6. For Authenticate: Enter PIN to verify.
#include <json-glib/json-glib.h>
#include <openssl/evp.h>
#include <string>
+#include <syspopup_caller.h>
+#include <bundle_internal.h>
+#include <app_control.h>
+#include <app_manager.h>
+#include <buxton2.h>
+
#include "silent_auth_entry.h"
#include "GetInfoReqTlvEncoder.h"
#define AUTH_EXTENSION_RESPONSE_SUCCESS "success"
#define AUTH_EXTENSION_RESPONSE_SUCCESS_LEN 128
+#define PWD_VERIFY_STATUS_TS_KEY "LOCK_PWD_VERIFY_STATUS_TS_KEY"
+#define PWD_VERIFY_STATUS_KEY "LOCK_PWD_VERIFY_STATUS_KEY"
+
#ifdef JSON_BUILDER
static void
__add_string_to_json_object(JsonBuilder *json_obj, const char *key, const char *val)
return true;
}
+#define TS_KEY "ts"
+#define TS_VAL_TEST "test"
+
EXPORT_API int
fido_auth_plugin_enroll(const char *args)
{
EXPORT_API int
fido_auth_plugin_verify(const char *cmd, const char *fch, char **verif_token)
{
+ time_t ts = time(0);
+
_INFO("");
- /*TODO: user verification*/
+ bundle *b = NULL;
+ b = bundle_create();
+ char ts_str[1024] = {0, };
+ snprintf(ts_str, 1024 - 1, "%lld", (long long)ts);
+ bundle_add(b, TS_KEY, ts_str);
+ _INFO("[%s]", ts_str);
+
+ int ret = syspopup_launch((char *)"fido-syspopup", b);
+ if (ret != 0) {
+ _ERR("syspopup_launch Error = [%d]", ret);
+ return -1;
+ }
+
+ /*buxton watch*/
+ struct buxton_client *cli;
+ struct buxton_layer *layer;
+
+ int r = buxton_open(&cli, NULL, NULL);
+ if (r) {
+ _ERR("buxton_open=[%d]", r);
+ return -1;
+ }
+
+ layer = buxton_create_layer("system");
+
+ /*long long int poll_count = 0;*/
+
+ while (1) {
+ usleep(1000);
+ buxton_value *val_ts = NULL;
+ r = buxton_get_value_sync(cli, layer, PWD_VERIFY_STATUS_TS_KEY, &val_ts);
+ if (r == -1) {
+ _ERR("buxton_get_value_sync=[%d]", r);
+ return -1;
+ }
+ if (val_ts != NULL) {
+ char *val_ts_str = NULL;
+ buxton_value_get_string(val_ts, (const char **)&val_ts_str);
+ if (val_ts_str != NULL) {
+ /*poll_count++;*/
+ /*if ((poll_count % 50) == 0)
+ _INFO("[%s][%s]", val_ts_str, ts_str);*/
+
+ if (strcmp(val_ts_str, ts_str) == 0) {
+ _INFO("Received matching ts");
+ buxton_value *val_bool = NULL;
+ r = buxton_get_value_sync(cli, layer, PWD_VERIFY_STATUS_KEY, &val_bool);
+ _INFO("buxton_get_value_sync=[%d]", r);
+ if (val_bool != NULL) {
+ int val_verifiy = false;
+ buxton_value_get_boolean(val_bool, &val_verifiy);
+ _INFO("val_verifiy=[%d]", val_verifiy);
+ if (val_verifiy != 0)
+ return 0;
+ else
+ return -1;
+ } else {
+ _ERR("");
+ return -1;
+ }
+ }
+ }
+ }
+
+ }
+ _ERR("Out of while!!");
return 0;
}
<option id="gnu.cpp.compiler.option.optimization.level.1087820175" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
<option defaultValue="gnu.cpp.compiler.debugging.level.default" id="sbi.gnu.cpp.compiler.option.debugging.level.core.2074049770" name="Debug level" superClass="sbi.gnu.cpp.compiler.option.debugging.level.core" valueType="enumerated"/>
<option defaultValue="false" id="sbi.gnu.cpp.compiler.option.misc.pic.core.934430413" name="-fPIC option" superClass="sbi.gnu.cpp.compiler.option.misc.pic.core" valueType="boolean"/>
- <option id="sbi.gnu.cpp.compiler.option.1668281093" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <option id="sbi.gnu.cpp.compiler.option.1668281093" name="Tizen-Target" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
<listOptionValue builtIn="false" value="mobile-3.0-emulator.core_llvm36.i386.core.app"/>
</option>
- <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.933451801" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.core.933451801" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.core" valueType="includePath">
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/EGL""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
</option>
- <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1464266591" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.core.1464266591" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.core" valueType="stringList">
<listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
<listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
<listOptionValue builtIn="false" value=" -fPIE"/>
<listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
</option>
- <option id="gnu.cpp.compiler.option.include.paths.800197544" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <option id="gnu.cpp.compiler.option.include.paths.800197544" name="Include paths (-I)" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
</option>
- <option id="sbi.gnu.cpp.compiler.option.frameworks.core.183608447" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.core.183608447" name="Tizen-Frameworks" superClass="sbi.gnu.cpp.compiler.option.frameworks.core" valueType="userObjs">
<listOptionValue builtIn="false" value="Native_API"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.1108065743" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
<option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1551187703" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
<option defaultValue="gnu.c.debugging.level.default" id="sbi.gnu.c.compiler.option.debugging.level.core.333665723" name="Debug level" superClass="sbi.gnu.c.compiler.option.debugging.level.core" valueType="enumerated"/>
<option defaultValue="false" id="sbi.gnu.c.compiler.option.misc.pic.core.788602662" name="-fPIC option" superClass="sbi.gnu.c.compiler.option.misc.pic.core" valueType="boolean"/>
- <option id="sbi.gnu.c.compiler.option.636615911" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <option id="sbi.gnu.c.compiler.option.636615911" name="Tizen-Target" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
<listOptionValue builtIn="false" value="mobile-3.0-emulator.core_llvm36.i386.core.app"/>
</option>
- <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.227609972" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.core.227609972" name="Tizen-Frameworks-Include-Path" superClass="sbi.gnu.c.compiler.option.frameworks_inc.core" valueType="includePath">
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/EGL""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/dbus-1.0/include""/>
<listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/lib/glib-2.0/include""/>
</option>
- <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.2135725134" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.core.2135725134" name="Tizen-Frameworks-Other-Cflags" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.core" valueType="stringList">
<listOptionValue builtIn="false" value="${TC_COMPILER_MISC}"/>
<listOptionValue builtIn="false" value="${RS_COMPILER_MISC}"/>
<listOptionValue builtIn="false" value=" -fPIE"/>
<listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
</option>
- <option id="gnu.c.compiler.option.include.paths.408957944" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <option id="gnu.c.compiler.option.include.paths.408957944" name="Include paths (-I)" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
</option>
- <option id="sbi.gnu.c.compiler.option.frameworks.core.2039111500" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
+ <option id="sbi.gnu.c.compiler.option.frameworks.core.2039111500" name="Tizen-Frameworks" superClass="sbi.gnu.c.compiler.option.frameworks.core" valueType="userObjs">
<listOptionValue builtIn="false" value="Native_API"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.395560190" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
<tool command="clang++" id="org.tizen.nativecore.tool.sbi.gnu.cpp.linker.2061646251" name="C++ Linker" superClass="org.tizen.nativecore.tool.sbi.gnu.cpp.linker">
<option defaultValue="false" id="sbi.gnu.cpp.linker.option.shared_flag.core.1742112829" name="Linker.Shared" superClass="sbi.gnu.cpp.linker.option.shared_flag.core" valueType="boolean"/>
<option defaultValue="false" id="sbi.gnu.cpp.linker.option.noundefined.core.67868224" name="Report unresolved symbol references (-Wl,--no-undefined)" superClass="sbi.gnu.cpp.linker.option.noundefined.core" valueType="boolean"/>
- <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1947884829" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.core.1947884829" name="Tizen-Frameworks-Other-Lflags" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.core" valueType="stringList">
<listOptionValue builtIn="false" value="${TC_LINKER_MISC}"/>
<listOptionValue builtIn="false" value="${RS_LINKER_MISC}"/>
<listOptionValue builtIn="false" value="-pie -lpthread "/>
<listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
<listOptionValue builtIn="false" value="$(RS_LIBRARIES)"/>
</option>
- <option id="gnu.cpp.link.option.paths.1097693748" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <option id="gnu.cpp.link.option.paths.1097693748" name="Library search path (-L)" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
<listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/lib}""/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1974166046" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
</projects>
<buildSpec>
<buildCommand>
+ <name>org.tizen.nativecore.apichecker.apicheckerbuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<arguments>
</arguments>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.tizen.nativecore.apichecker.apicheckernature</nature>
</natures>
<filteredResources>
<filter>
res/offline_dereg_req.json__DEL__ls9i8E/7YfyG+yCzw/XQC8as8ooSZNM8ItkTCvG3AQ0=
res/offline_reg_req.json__DEL__rdOHCvLX1D/a4sN49GMCPTDj4spKyHjgXrcTvDmtHmI=
res/ui-controls.edc__DEL__yT6Ox68AGW/HIfljsxpDJ0/42qHiF0sSTOPCj0hDChM=
-res/ui-controls.edj__DEL__zY+RgwVhayMhI8gOpkbxqIKV8/Sqe8uUkf/hn4wUZcQ=
+res/ui-controls.edj__DEL__nf2E5KtcXKvxS/HUTnR60HxwBrU7JMxbEM3lfwxCn/8=
shared/res/fido.png__DEL__9DwesXg1NEg1AEHfbtrY6C9YwJoypEr2v6hOyWHW6i8=
shared/res/rademotv.png__DEL__1d0oEZHqPn+QzNzGIHwj9ODby6x9ggFs9uOsav6jPNs=
tizen-manifest.xml__DEL__hf3BnDDOp8ZyVZbapG4QNDJtBWqH8Qa24aJD4/kN4dY=
-author-signature.xml__DEL__7K9ckaGz1GQydrpk8zkpnZw1mh7PkeJZQ41FJxuRd3Q=
+author-signature.xml__DEL__y4enTiLoUZO3luwmsmV3hK5i2fohhohsYOxM6GGripk=
</Reference>
<Reference URI="res%2Fui-controls.edj">
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
-<DigestValue>zY+RgwVhayMhI8gOpkbxqIKV8/Sqe8uUkf/hn4wUZcQ=</DigestValue>
+<DigestValue>nf2E5KtcXKvxS/HUTnR60HxwBrU7JMxbEM3lfwxCn/8=</DigestValue>
</Reference>
<Reference URI="shared%2Fres%2Ffido.png">
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
</Reference>
</SignedInfo>
<SignatureValue>
-o9X1remP0l3i/1LdxaKEtQungByfq6filBpnmxprmlrLGlbJ8NvlYwLGbiESY21gHajumW4Zyn//
-c/iy8VFQOX04y9Nk2cxLO2Ut3RjUIakHyk32y+KgoBlRZAusGD1EQ/zu0noLLbiSzZcFhe96NO+d
-b74qVqwdHfy9tYxkyao=
+MlYR5rz7dFxkEYZtkZj4l+iSZh4dZSlxSvZVriY1s1D07Jbzm016xmcv15KQq6GrP6mW67P9mVNv
+QoW+I4F/7jnTl/5ofa03oI5cB18AT3Mr/AX0fKM/JHBxnutpjK2MdNj6VANv7bZ/9H64tTOeZQHr
+HLJH0TwfmAVwPBkXDU0=
</SignatureValue>
<KeyInfo>
<X509Data>
<SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"></SignatureMethod>
<Reference URI="author-signature.xml">
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
-<DigestValue>7K9ckaGz1GQydrpk8zkpnZw1mh7PkeJZQ41FJxuRd3Q=</DigestValue>
+<DigestValue>y4enTiLoUZO3luwmsmV3hK5i2fohhohsYOxM6GGripk=</DigestValue>
</Reference>
<Reference URI="bin%2Frademotv">
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
</Reference>
<Reference URI="res%2Fui-controls.edj">
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
-<DigestValue>zY+RgwVhayMhI8gOpkbxqIKV8/Sqe8uUkf/hn4wUZcQ=</DigestValue>
+<DigestValue>nf2E5KtcXKvxS/HUTnR60HxwBrU7JMxbEM3lfwxCn/8=</DigestValue>
</Reference>
<Reference URI="shared%2Fres%2Ffido.png">
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"></DigestMethod>
</Reference>
</SignedInfo>
<SignatureValue>
-G9pc7RO8mSwrw7f796Ngr1qU37WS3jRv9g8Sm5ugLxsJ23F6D3glkBRwiDvpTMc0/y/JtzINzCgs
-ArloFO39fWP8kEKHcTkkVPXGED3D7jl3eVIYcIcgLD0iFsHFFzBHKRVIrZORmQIt9J3F6Ul8q9rQ
-IwXK4ORO1aTjOqP6lgM=
+HApMDDq7LO1eI07Iw5VjSAaM73WeFAtQeW8KQi3e5SyHCbUWoKTDSFwHA/Y2+91iqJnC/3KN2ksy
+S8CwCOBAMx5kWSr+01qiQIv5J0tV3T0/PFN/rMwXGX4SaImwYJ+g/Xdwns4gZCaTISZBqQPi25NM
+QDcoZ3vdFA/uFzmSIVw=
</SignatureValue>
<KeyInfo>
<X509Data>