public class ZRtp extends Object
transConnector = (ZrtpTransformConnector)TransformManager.createZRTPConnector(sa);
zrtpEngine = transConnector.getEngine();
zrtpEngine.setUserCallback(new MyCallback());
if (!zrtpEngine.initialize("test_t.zid"))
System.out.println("initialize failed");
zrtpEngine.startZrtpEngine();
ZrtpCallback| Constructor and Description |
|---|
ZRtp(byte[] myZid,
ZrtpCallback cb,
String id,
ZrtpConfigure config) |
ZRtp(byte[] myZid,
ZrtpCallback cb,
String id,
ZrtpConfigure config,
boolean mitmMode) |
ZRtp(byte[] myZid,
ZrtpCallback cb,
String id,
ZrtpConfigure config,
boolean mitmMode,
boolean sasSignSupport)
Constructor initializes all relevant data but does not start the engine.
|
| Modifier and Type | Method and Description |
|---|---|
void |
acceptEnrollment(boolean accepted)
Accept a PBX enrollment request.
|
protected int |
activateTimer(int tm)
Activate a Timer using the host callback.
|
protected int |
cancelTimer()
Cancel the active Timer using the host callback.
|
protected int |
compareCommit(ZrtpPacketCommit commit)
Compare the hvi values.
|
void |
conf2AckSecure()
Emulate a Conf2Ack packet.
|
int |
getCurrentProtocolVersion()
Get negotiated ZRTP protocol version.
|
String |
getHelloHash(int index)
Get the ZRTP Hello Hash data.
|
String[] |
getHelloHashSep(int index)
Get the ZRTP Hello Hash data - separate strings.
|
byte[] |
getMultiStrParams()
Get Multi-stream parameters.
|
int |
getNumberSupportedVersions()
Get number of supported ZRTP protocol versions.
|
String |
getPeerHelloHash()
Get the peer's Hello Hash data.
|
String[] |
getPeerHelloHashSep()
Get the peer's Hello Hash data - separate strings.
|
byte[] |
getPeerZid()
Get other party's ZID (ZRTP Identifier) data
This functions returns the other party's ZID that was receivied during
ZRTP processing.
|
byte[] |
getSasHash()
Get the computed SAS hash for this ZRTP session.
|
ZrtpConstants.SupportedSASTypes |
getSasType()
Get the commited SAS rendering algorithm for this ZRTP session.
|
byte[] |
getSignatureData()
Get signature data
This functions returns signature data that was receivied during ZRTP
processing.
|
int |
getSignatureLength()
Get length of signature data
This functions returns the length of signature data that was receivied
during ZRTP processing.
|
long |
getTimeoutValue()
Get remaining time before a "ZRTP not supported by other party" is reported.
|
boolean |
inState(ZrtpStateClass.ZrtpStates state)
Check current state of the ZRTP state engine
|
boolean |
isEnrollmentMode()
Check the state of the enrollment mode.
|
boolean |
isMultiStream()
Check if this ZRTP use Multi-stream.
|
boolean |
isMultiStreamAvailable()
Check if the other ZRTP client supports Multi-stream.
|
boolean |
isPeerEnrolled()
Check if a peer's cache entry has a vaild MitM key.
|
protected ZrtpPacketCommit |
prepareCommit(ZrtpPacketHello hello,
ZrtpCodes.ZrtpErrorCodes[] errMsg)
Prepare a Commit packet.
|
protected ZrtpPacketCommit |
prepareCommitMultiStream(ZrtpPacketHello hello) |
protected ZrtpPacketConf2Ack |
prepareConf2Ack(ZrtpPacketConfirm confirm2,
ZrtpCodes.ZrtpErrorCodes[] errMsg)
Prepare the Conf2Ack packet.
|
protected ZrtpPacketConfirm |
prepareConfirm1(ZrtpPacketDHPart dhPart2,
ZrtpCodes.ZrtpErrorCodes[] errMsg)
Prepare the Confirm1 packet.
|
protected ZrtpPacketConfirm |
prepareConfirm1MultiStream(ZrtpPacketCommit commit,
ZrtpCodes.ZrtpErrorCodes[] errMsg) |
protected ZrtpPacketConfirm |
prepareConfirm2(ZrtpPacketConfirm confirm1,
ZrtpCodes.ZrtpErrorCodes[] errMsg)
Prepare the Confirm2 packet.
|
protected ZrtpPacketConfirm |
prepareConfirm2MultiStream(ZrtpPacketConfirm confirm1,
ZrtpCodes.ZrtpErrorCodes[] errMsg) |
protected ZrtpPacketDHPart |
prepareDHPart1(ZrtpPacketCommit commit,
ZrtpCodes.ZrtpErrorCodes[] errMsg)
Prepare the DHPart1 packet.
|
protected ZrtpPacketDHPart |
prepareDHPart2(ZrtpPacketDHPart dhPart1,
ZrtpCodes.ZrtpErrorCodes[] errMsg)
Prepare the DHPart2 packet.
|
protected ZrtpPacketError |
prepareError(ZrtpCodes.ZrtpErrorCodes errMsg)
Prepare the Error packet.
|
protected ZrtpPacketErrorAck |
prepareErrorAck(ZrtpPacketError epkt)
Prepare the ErrorAck packet.
|
protected ZrtpPacketHello |
prepareHello()
Prepare a Hello packet.
|
protected ZrtpPacketHelloAck |
prepareHelloAck()
Prepare a HelloAck packet.
|
protected ZrtpPacketPingAck |
preparePingAck(ZrtpPacketPing ppkt)
Prepare the PingAck packet.
|
protected ZrtpPacketRelayAck |
prepareRelayAck(ZrtpPacketSASRelay srly,
ZrtpCodes.ZrtpErrorCodes[] errMsg) |
void |
processTimeout()
Process a timeout event.
|
void |
processZrtpMessage(byte[] extHeader,
int ssrc)
Process RTP extension header.
|
void |
resetSASVerified()
Reset the SAS verfied flag for the current active user's retained secrets.
|
void |
SASVerified()
Set SAS as verified.
|
protected void |
sendInfo(ZrtpCodes.MessageSeverity severity,
EnumSet<?> subCode)
Send information messages to the hosting environment.
|
protected boolean |
sendPacketZRTP(ZrtpPacketBase packet)
Send a ZRTP packet.
|
boolean |
sendSASRelayPacket(byte[] sh,
ZrtpConstants.SupportedSASTypes render)
Send the SAS relay packet.
|
void |
setAuxSecret(byte[] data)
Set the auxiliary secret.
|
void |
setEnrollmentMode(boolean enrollmentMode)
Check the state of the enrollment mode.
|
void |
setMultiStrParams(byte[] parameters)
Set Multi-stream parameters.
|
void |
setRs2Valid() |
boolean |
setSignatureData(byte[] data)
Set signature data
This functions stores signature data and transmitts it during ZRTP
processing to the other party as part of the Confirm packets.
|
protected void |
srtpSecretsOff(ZrtpCallback.EnableSecurity part)
Switch off SRTP secrets.
|
protected boolean |
srtpSecretsReady(ZrtpCallback.EnableSecurity part)
Signal SRTP secrets are ready.
|
void |
startZrtpEngine()
Kick off the ZRTP protocol engine.
|
void |
stopZrtp()
Stop ZRTP security.
|
protected boolean |
verifyH2(ZrtpPacketCommit commit)
Verify the H2 hash image.
|
protected void |
zrtpNegotiationFailed(ZrtpCodes.MessageSeverity severity,
EnumSet<?> subCode)
ZRTP state engine calls this if the negotiation failed.
|
protected void |
zrtpNotSuppOther()
ZRTP state engine calls this method if the other side does not support
ZRTP.
|
public ZRtp(byte[] myZid,
ZrtpCallback cb,
String id,
ZrtpConfigure config)
public ZRtp(byte[] myZid,
ZrtpCallback cb,
String id,
ZrtpConfigure config,
boolean mitmMode)
public ZRtp(byte[] myZid,
ZrtpCallback cb,
String id,
ZrtpConfigure config,
boolean mitmMode,
boolean sasSignSupport)
public void startZrtpEngine()
public void stopZrtp()
public void processZrtpMessage(byte[] extHeader,
int ssrc)
extHeader - A pointer to the first byte of the extension header. Refer to
RFC3550.public void processTimeout()
public void setAuxSecret(byte[] data)
data - Points to the secret data.public boolean isEnrollmentMode()
public void setEnrollmentMode(boolean enrollmentMode)
enrollmentMode - defines the new state of the enrollmentMode flagpublic boolean isPeerEnrolled()
public boolean sendSASRelayPacket(byte[] sh,
ZrtpConstants.SupportedSASTypes render)
sh - the full SAS hash valuerender - the SAS rendering algorithmpublic ZrtpConstants.SupportedSASTypes getSasType()
public byte[] getSasHash()
public boolean inState(ZrtpStateClass.ZrtpStates state)
state - The state to check.public void SASVerified()
public void resetSASVerified()
public void setRs2Valid()
public String getHelloHash(int index)
index - Hello hash of the Hello packet identified by index. Index must be 0 <= index < SUPPORTED_ZRTP_VERSIONS.public String[] getHelloHashSep(int index)
index - Hello hash of the Hello packet identified by index. Index must be 0 <= index < SUPPORTED_ZRTP_VERSIONS.public String getPeerHelloHash()
public String[] getPeerHelloHashSep()
public byte[] getMultiStrParams()
public void setMultiStrParams(byte[] parameters)
parameters - A byte array that contains the multi-stream parameters. See
also getMultiStrParams()public boolean isMultiStream()
public boolean isMultiStreamAvailable()
public void acceptEnrollment(boolean accepted)
accepted to
true. If the user does not accept the request set the parameter to false.accepted - True if the enrollment request is accepted, false otherwise.public boolean setSignatureData(byte[] data)
data - The signature data including the signature type block. The
method copies this data into the Confirm packet at signature
type block. The length of the signature data must be multiple
of 4 bytes.public byte[] getSignatureData()
public int getSignatureLength()
public void conf2AckSecure()
public byte[] getPeerZid()
public long getTimeoutValue()
public int getNumberSupportedVersions()
public int getCurrentProtocolVersion()
protected boolean sendPacketZRTP(ZrtpPacketBase packet)
packet - Points to the ZRTP packet.protected int activateTimer(int tm)
tm - The time in milliseconds.protected int cancelTimer()
protected ZrtpPacketHello prepareHello()
protected ZrtpPacketHelloAck prepareHelloAck()
protected ZrtpPacketCommit prepareCommit(ZrtpPacketHello hello, ZrtpCodes.ZrtpErrorCodes[] errMsg)
hello - Points to the received Hello packetprotected ZrtpPacketCommit prepareCommitMultiStream(ZrtpPacketHello hello)
protected ZrtpPacketDHPart prepareDHPart1(ZrtpPacketCommit commit, ZrtpCodes.ZrtpErrorCodes[] errMsg)
protected ZrtpPacketDHPart prepareDHPart2(ZrtpPacketDHPart dhPart1, ZrtpCodes.ZrtpErrorCodes[] errMsg)
protected ZrtpPacketConfirm prepareConfirm1(ZrtpPacketDHPart dhPart2, ZrtpCodes.ZrtpErrorCodes[] errMsg)
protected ZrtpPacketConfirm prepareConfirm1MultiStream(ZrtpPacketCommit commit, ZrtpCodes.ZrtpErrorCodes[] errMsg)
protected ZrtpPacketConfirm prepareConfirm2(ZrtpPacketConfirm confirm1, ZrtpCodes.ZrtpErrorCodes[] errMsg)
protected ZrtpPacketConfirm prepareConfirm2MultiStream(ZrtpPacketConfirm confirm1, ZrtpCodes.ZrtpErrorCodes[] errMsg)
confirm1 - The ZRTP confirm1 packeterrMsg - Arry to return an error codeprotected ZrtpPacketConf2Ack prepareConf2Ack(ZrtpPacketConfirm confirm2, ZrtpCodes.ZrtpErrorCodes[] errMsg)
protected ZrtpPacketErrorAck prepareErrorAck(ZrtpPacketError epkt)
protected ZrtpPacketError prepareError(ZrtpCodes.ZrtpErrorCodes errMsg)
protected ZrtpPacketPingAck preparePingAck(ZrtpPacketPing ppkt)
protected ZrtpPacketRelayAck prepareRelayAck(ZrtpPacketSASRelay srly, ZrtpCodes.ZrtpErrorCodes[] errMsg)
protected int compareCommit(ZrtpPacketCommit commit)
commit - Pointer to the peer's commit packet we just received.protected boolean verifyH2(ZrtpPacketCommit commit)
commit - Pointer to the peer's commit packet we just received.protected void sendInfo(ZrtpCodes.MessageSeverity severity, EnumSet<?> subCode)
severity - This defines the message's severitysubCode - The subcode identifying the reason.ZrtpCodes.MessageSeverityprotected void zrtpNegotiationFailed(ZrtpCodes.MessageSeverity severity, EnumSet<?> subCode)
severity - This defines the message's severitysubCode - The subcode identifying the reason.ZrtpCodes.MessageSeverityprotected void zrtpNotSuppOther()
protected boolean srtpSecretsReady(ZrtpCallback.EnableSecurity part)
part - Defines for which part (sender or receiver) to switch on
securityprotected void srtpSecretsOff(ZrtpCallback.EnableSecurity part)
part - Defines for which part (sender or receiver) to clearCopyright © 2020. All rights reserved.