|
Some Edge agents are not compatible with the new PASSWORD base type due to the stronger security model.
• The C SDK, .NET SDK, EMS, and iOS SDK were not able to access passwords before this change, and will maintain that behavior.
• Prior to ThingWorx 8.2, the Java SDK and Android SDK had the capability to receive passwords and included libraries to decrypt the passwords, once the encrypted values reached the Edge. With this change, the encrypted values cannot be received or decrypted. If a password base type value is sent to the Edge, it triggers an error in the Java and Android SDKs when the Edge attempts to decrypt the password.
◦ JSDK pre-6.1 error:
[O: c.t.t.d.u.ValueCollectionSerializer] [T: main] Error reading value collection data: Unable to read primitive value from stream : Decrypt ERROR: null JSDK
◦ JSDK 6.1+ error:
[L: ERROR] [O: c.t.t.d.u.ValueCollectionSerializer] [T: main] Error reading value collection data: Unable to read primitive value from stream : java.lang.IllegalArgumentException: No key store file path specified
|
|
The PASSWORD base type should not be used as a primary key on a data table.
|
|
Caution: When exporting plain text passwords, ensure that the file is safeguarded in an appropriate way. Plain text exports do not contain built-in security.
|
|
Do not export passwords as primary keys in data tables.
|
|
If you lose the encryption key (keystore), any encrypted data will be lost.
|