/n software 3-D Secure V2 Android Edition

Questions / Feedback?

Config Parameters

The ConfigParameters class is used to provide details required by the 3DS SDK for initialization, as well as additional optional settings. The ConfigParameters.Builder class helps with organizing these parameters which can be used as follows:

	List<ConfigParameters.DirectoryServerInfo> directoryServerInfoList = new ArrayList<>();
	directoryServerInfoList.add(new ConfigParameters.DirectoryServerInfo(DSInfo.TEST_DS_ID, DSInfo.TEST_DS_CERT, DSInfo.TEST_DS_CA));

	List<String> deviceParameterBlacklist = new ArrayList<>();
		deviceParameterBlacklist.add("A009");
		deviceParameterBlacklist.add("A010");	

	List<String> maliciousApps = new ArrayList<>();
		maliciousApps.add("de.robv.android.xposed");

	List<String> trustedAppStores = new ArrayList<>();
		trustedAppStores.add("com.xiaomi.market");

	String appsignature = ParseAppSignature(HTTP.Get("https://www.example.com/signature"));
					  
	List<String> clientConfigs = new ArrayList<>();
		clientConfigs.add("logLevel=3");
		clientConfigs.add("MaskSensitive=false");
			
	ConfigParameters configParameters = new ConfigParameters.Builder(directoryServerInfoList, runtimeLicense)
		.clientConfig(clientConfigs)
		.build();

Parameters fall into a few groups:

Parameter NameTypeDescription
DirectoryServerInfoListList<DirectoryServerInfo>Used to specify encryption keys and certificates for various supported directory servers. More details can be found in the DirectoryServerInfo section.
RuntimeLicenseStringThe 3DS SDK license string.
DeviceParametersBlacklistList<String>A list of device parameters NOT to pull from the device. By default, the SDK will pull as many device parameters as it can. This setting group can be used to instruct the SDK not to pull certain parameters. You can add parameters to this list by specifying the identifier. A full list of parameters can be found in the EMV® 3-D Secure SDK Device Information document, which can be obtained from EMVCo directly.
MaliciousAppsList<String>Apps that are recognized as malicious. If the apps are installed, a security warning (SW02) will be raised. The following apps are considered malicious by default:
  • de.robv.android.xposed
  • de.robv.android.xposed.installer
  • com.saurik.substrate
TrustedAppStoresList<String>A security warning (SW02) will be raised if the app is not installed from a trusted app store. By default, the Google Play Store (com.android.vending) is trusted. This parameter can be used to specify additional trusted app stores.
AppSignatureList<String>A security warning (SW02) is raised if this value does not match the app signature. This property should be set to the SHA256 fingerprint of the certificate used to sign the app. If this value is not specified, the SDK will see the signature as invalid. Note that this value should not be hardcoded in the app for security reasons. Instead, the fingerprint should be stored on a server, retrieved at runtime, and set here.
ClientConfigList<String>Configuration settings used for additional configuration of the SDK. A list of available options can be found in the Client Config section.

After building the ConfigParameters object, the addParams method can be used to add additional parameters. This method accepts a group, parameter name, and parameter value. There are no specific groups associated with the SDK at this time, so the group can be set to a null value. For example:

configParameters.addParam(null, "ParameterName", "ParameterValue");
Available additional parameters are as follows:

NameDescription
ShowWhiteBoxInProcessingScreenDisplay a white box behind the processing icon and directory server image. This takes a boolean string value ("True" or "False").
UseDefaultTrustedAppStoreListThis setting controls whether the default trusted app store list (i.e. com.android.vending) is used. This is true by default, but when set to false only those stores explicitly specified via the TrustedAppStores list during initialization will be trusted. This takes a boolean string value ("True" or "False").
ProgressBarColorThis setting controls the color of the progress bar displayed in the progress dialog returned by the getProgressView method. This accepts a hex color code value (e.g. "#b884f2").

Copyright (c) 2023 /n software inc. - All rights reserved.
/n software 3-D Secure V2 Android Edition - Version 2.2 [Build 8522]