fallback key java bindings
This commit is contained in:
parent
f6309f0281
commit
f647747d27
4 changed files with 45 additions and 2 deletions
|
@ -493,4 +493,22 @@ public class OlmAccount extends CommonSerializeUtils implements Serializable {
|
||||||
}
|
}
|
||||||
|
|
||||||
private native byte[] fallbackKeyJni();
|
private native byte[] fallbackKeyJni();
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Forget about the old fallback key.
|
||||||
|
*
|
||||||
|
* This should be called once you are reasonably certain that you will not
|
||||||
|
* receive any more messages that use the old fallback key (e.g. 5 minutes
|
||||||
|
* after the new fallback key has been published).
|
||||||
|
**/
|
||||||
|
public void forgetFallbackKey() throws OlmException {
|
||||||
|
try {
|
||||||
|
forgetFallbackKeyJni();
|
||||||
|
} catch (Exception e) {
|
||||||
|
throw new OlmException(OlmException.EXCEPTION_CODE_ACCOUNT_FORGET_FALLBACK_KEY, e.getMessage());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private native void forgetFallbackKeyJni();
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,6 +37,7 @@ public class OlmException extends IOException {
|
||||||
public static final int EXCEPTION_CODE_ACCOUNT_SIGN_MESSAGE = 107;
|
public static final int EXCEPTION_CODE_ACCOUNT_SIGN_MESSAGE = 107;
|
||||||
public static final int EXCEPTION_CODE_ACCOUNT_GENERATE_FALLBACK_KEY = 108;
|
public static final int EXCEPTION_CODE_ACCOUNT_GENERATE_FALLBACK_KEY = 108;
|
||||||
public static final int EXCEPTION_CODE_ACCOUNT_FALLBACK_KEY = 109;
|
public static final int EXCEPTION_CODE_ACCOUNT_FALLBACK_KEY = 109;
|
||||||
|
public static final int EXCEPTION_CODE_ACCOUNT_FORGET_FALLBACK_KEY = 110;
|
||||||
|
|
||||||
public static final int EXCEPTION_CODE_CREATE_INBOUND_GROUP_SESSION = 200;
|
public static final int EXCEPTION_CODE_CREATE_INBOUND_GROUP_SESSION = 200;
|
||||||
public static final int EXCEPTION_CODE_INIT_INBOUND_GROUP_SESSION = 201;
|
public static final int EXCEPTION_CODE_INIT_INBOUND_GROUP_SESSION = 201;
|
||||||
|
|
|
@ -521,7 +521,7 @@ JNIEXPORT jbyteArray OLM_ACCOUNT_FUNC_DEF(fallbackKeyJni)(JNIEnv *env, jobject t
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// keys memory allocation
|
// keys memory allocation
|
||||||
size_t keysLength = olm_account_fallback_key_length(accountPtr);
|
size_t keysLength = olm_account_unpublished_fallback_key_length(accountPtr);
|
||||||
uint8_t *keysBytesPtr = (uint8_t *)malloc(keysLength*sizeof(uint8_t));
|
uint8_t *keysBytesPtr = (uint8_t *)malloc(keysLength*sizeof(uint8_t));
|
||||||
|
|
||||||
if (!keysBytesPtr)
|
if (!keysBytesPtr)
|
||||||
|
@ -532,7 +532,7 @@ JNIEXPORT jbyteArray OLM_ACCOUNT_FUNC_DEF(fallbackKeyJni)(JNIEnv *env, jobject t
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// retrieve key pairs in keysBytesPtr
|
// retrieve key pairs in keysBytesPtr
|
||||||
size_t keysResult = olm_account_fallback_key(accountPtr, keysBytesPtr, keysLength);
|
size_t keysResult = olm_account_unpublished_fallback_key(accountPtr, keysBytesPtr, keysLength);
|
||||||
|
|
||||||
if (keysResult == olm_error()) {
|
if (keysResult == olm_error()) {
|
||||||
LOGE("## fallbackKeyJni(): failure - error getting fallback key Msg=%s",(const char *)olm_account_last_error(accountPtr));
|
LOGE("## fallbackKeyJni(): failure - error getting fallback key Msg=%s",(const char *)olm_account_last_error(accountPtr));
|
||||||
|
@ -567,6 +567,29 @@ JNIEXPORT jbyteArray OLM_ACCOUNT_FUNC_DEF(fallbackKeyJni)(JNIEnv *env, jobject t
|
||||||
return byteArrayRetValue;
|
return byteArrayRetValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Forget about the old fallback key.
|
||||||
|
*
|
||||||
|
* This should be called once you are reasonably certain that you will not
|
||||||
|
* receive any more messages that use the old fallback key (e.g. 5 minutes
|
||||||
|
* after the new fallback key has been published).
|
||||||
|
**/
|
||||||
|
JNIEXPORT void OLM_ACCOUNT_FUNC_DEF(forgetFallbackKeyJni)(JNIEnv *env, jobject thiz)
|
||||||
|
{
|
||||||
|
OlmAccount *accountPtr = getAccountInstanceId(env, thiz);
|
||||||
|
|
||||||
|
if (!accountPtr)
|
||||||
|
{
|
||||||
|
LOGE("## forgetFallbackKeyJni(): failure - invalid Account ptr");
|
||||||
|
errorMessage = "invalid Account ptr";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
olm_account_forget_old_fallback_key(accountPtr)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sign a message with the ed25519 key (fingerprint) for this account.<br>
|
* Sign a message with the ed25519 key (fingerprint) for this account.<br>
|
||||||
* The signed message is returned by the function.
|
* The signed message is returned by the function.
|
||||||
|
|
|
@ -45,6 +45,7 @@ JNIEXPORT void OLM_ACCOUNT_FUNC_DEF(markOneTimeKeysAsPublishedJni)(JNIEnv *env,
|
||||||
// fallback keys
|
// fallback keys
|
||||||
JNIEXPORT void OLM_ACCOUNT_FUNC_DEF(generateFallbackKeyJni)(JNIEnv *env, jobject thiz);
|
JNIEXPORT void OLM_ACCOUNT_FUNC_DEF(generateFallbackKeyJni)(JNIEnv *env, jobject thiz);
|
||||||
JNIEXPORT jbyteArray OLM_ACCOUNT_FUNC_DEF(fallbackKeyJni)(JNIEnv *env, jobject thiz);
|
JNIEXPORT jbyteArray OLM_ACCOUNT_FUNC_DEF(fallbackKeyJni)(JNIEnv *env, jobject thiz);
|
||||||
|
JNIEXPORT void OLM_ACCOUNT_FUNC_DEF(forgetFallbackKeyJni)(JNIEnv *env, jobject thiz);
|
||||||
|
|
||||||
// signing
|
// signing
|
||||||
JNIEXPORT jbyteArray OLM_ACCOUNT_FUNC_DEF(signMessageJni)(JNIEnv *env, jobject thiz, jbyteArray aMessage);
|
JNIEXPORT jbyteArray OLM_ACCOUNT_FUNC_DEF(signMessageJni)(JNIEnv *env, jobject thiz, jbyteArray aMessage);
|
||||||
|
|
Loading…
Reference in a new issue