Make fingerprinting of ZRTP connections harder by using a different ZID for
each callee. Client ZID is calculated using a hash of the value
INSTALLATION_UNIQUE_SALT and peer JID if the callee. (Only the bare JID part
can be used, and not the full JID, because peers can generate new resource
at each application start and this would can a new ZID at each application
start and this would break the purpouse of the SAS checking).
INSTALLATION_UNIQUE_SALT value is stored in properties and the user can choose
to generate a new salt value from UI.
Implementation details:
ZID calculation is done in generateMyZid
For the receiving calls the creation of the ZrtpControlImpl instance had
to be moved to MediaHandler.initStream because only here the information
about peer Jid was present.
These methods are not used and have been removed:
public boolean ZRTPTransformEngine.initialize(String zidFilename, boolean autoEnable)
public boolean ZRTPTransformEngine.initialize(String zidFilename)
Make fingerprinting of ZRTP connections harder by using a different ZID for each callee. Client ZID is calculated using a hash of the value INSTALLATION_UNIQUE_SALT and peer JID if the callee. (Only the bare JID part can be used, and not the full JID, because peers can generate new resource at each application start and this would can a new ZID at each application start and this would break the purpouse of the SAS checking).
INSTALLATION_UNIQUE_SALT value is stored in properties and the user can choose to generate a new salt value from UI.
Implementation details:
ZID calculation is done in generateMyZid
For the receiving calls the creation of the ZrtpControlImpl instance had to be moved to MediaHandler.initStream because only here the information about peer Jid was present.
These methods are not used and have been removed:
public boolean ZRTPTransformEngine.initialize(String zidFilename, boolean autoEnable) public boolean ZRTPTransformEngine.initialize(String zidFilename)
Fixes issue #122