const gchar *enc_c_sign_key,
const gchar *enc_net_access_key);
gchar* _netconfig_encrypt_passphrase(const gchar *passphrase);
+gchar* _netconfig_decrypt_passphrase(const gchar *enc_data);
#ifdef __cplusplus
}
<arg type="s" name="value" direction="in"/>
</method>
<method name="GetConfigPassphrase">
+ <arg type="s" name="ifname" direction="in"/>
<arg type="s" name="config_id" direction="in"/>
<arg type="s" name="passphrase" direction="out"/>
</method>
<check send_destination="net.netconfig" send_interface="net.netconfig.wifi" send_member="NetlinkScan" privilege="http://tizen.org/privilege/network.set" />
<check send_destination="net.netconfig" send_interface="net.netconfig.wifi" send_member="RequestWpsCancel" privilege="http://tizen.org/privilege/network.set" />
<check send_destination="net.netconfig" send_interface="net.netconfig.wifi" send_member="RequestWpsConnect" privilege="http://tizen.org/privilege/network.set" />
+ <check send_destination="net.netconfig" send_interface="net.netconfig.wifi" send_member="GetConfigPassphrase" privilege="http://tizen.org/privilege/wifi.secureinfo" />
<check send_destination="net.netconfig" send_interface="net.netconfig.wifi" send_member="CreateEapConfig" privilege="http://tizen.org/privilege/network.profile" />
<check send_destination="net.netconfig" send_interface="net.netconfig.wifi" send_member="LoadDriver" privilege="http://tizen.org/privilege/network.set" />
<check send_destination="net.netconfig" send_interface="net.netconfig.wifi" send_member="GetBssidList" privilege="http://tizen.org/privilege/network.get" />
if (g_strcmp0(key, WIFI_CONFIG_NAME) == 0) {
val = g_key_file_get_string(keyfile, group_name, WIFI_CONFIG_NAME, NULL);
} else if (g_strcmp0(key, WIFI_CONFIG_PASSPHRASE) == 0) {
- val = g_key_file_get_string(keyfile, group_name, WIFI_CONFIG_PASSPHRASE, NULL);
+ gchar *enc_pass = g_key_file_get_string(keyfile, group_name, WIFI_CONFIG_PASSPHRASE, NULL);
+ if (enc_pass) {
+ val = _netconfig_decrypt_passphrase(enc_pass);
+ g_free(enc_pass);
+
+ if (!val)
+ ERR("Failed to decrypt the passphrase");
+ }
} else if (g_strcmp0(key, WIFI_CONFIG_PROXY_SERVER) == 0) {
val = g_key_file_get_string(keyfile, group_name, WIFI_CONFIG_PROXY_SERVER, NULL);
} else if (g_strcmp0(key, WIFI_CONFIG_HIDDEN) == 0) {
gboolean ret = FALSE;
gchar *passphrase = NULL;
- if ((wifi == NULL) || (config_id == NULL)) {
+ if ((wifi == NULL) || (ifname == NULL) || (config_id == NULL)) {
ERR("Invalid parameter");
netconfig_error_invalid_parameter(context);
return TRUE;