Browse Source

Make Engine.provision() a static method

JNI-178
heck 3 years ago
parent
commit
faad59edde
  1. 1
      src/codegen/pEp.yml2
  2. 23
      src/cxx/basic_api.cc
  3. 22
      src/cxx/foundation_pEp_jniadapter_AbstractEngine.cc
  4. 7
      src/java/foundation/pEp/jniadapter/AbstractEngine.java

1
src/codegen/pEp.yml2

@ -275,7 +275,6 @@ namespace pEp {
basic void config_passphrase(string passphrase);
basic void config_passphrase_for_new_keys(bool enable, string passphrase);
basic bytearray export_key(string fpr);
basic void provision(string url);
};
struct message {

23
src/cxx/basic_api.cc

@ -1,11 +1,7 @@
#include <iostream>
#include <pEp/keymanagement.h>
#include <pEp/blacklist.h>
#include <pEp/Adapter.hh>
#include <pEp/pEpLog.hh>
#include <pEp/unpack.hh>
#include <cryptopp/xed25519.h>
#ifndef ANDROID
#include <string.h>
@ -543,24 +539,5 @@ JNIEXPORT jbyteArray JNICALL Java_foundation_pEp_jniadapter_Engine__1export_1key
return from_string(env, buff);
}
JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine__1provision(JNIEnv *env,
jobject obj,
jbyteArray url)
{
const char *_url = to_string(env, url);
std::cout << "PROVISION: " << _url << std::endl;
pEp::UpdateClient::product p { "provisioning data", std::string(_url) };
pEp::UpdateClient::PublicKey update_key;
pEp::UpdateClient::load_key("update_key.der");
CryptoPP::ed25519PublicKey deployment_key;
SignedPackage::LoadPublicKey("deployment_key-pub.der", deployment_key);
CryptoPP::RSA::PrivateKey provisioning_key;
SignedPackage::LoadPrivateKey("provisioning_key.der", provisioning_key);
SignedPackage::provision_user(p, update_key, deployment_key, provisioning_key);
}
} // extern "C"

22
src/cxx/foundation_pEp_jniadapter_AbstractEngine.cc

@ -1,4 +1,7 @@
#include "foundation_pEp_jniadapter_AbstractEngine.h"
#include <iostream>
#include <pEp/unpack.hh>
#include <cryptopp/xed25519.h>
#include <pEp/keymanagement.h>
#include <pEp/message_api.h>
#include <pEp/sync_api.h>
@ -289,6 +292,25 @@ JNIEXPORT jboolean JNICALL Java_foundation_pEp_jniadapter_AbstractEngine__1getDe
return static_cast<jboolean>(Adapter::pEpLog::get_enabled());
}
JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_AbstractEngine__1provision(JNIEnv *env,
jclass clazz,
jbyteArray url)
{
const char *_url = to_string(env, url);
std::cout << "PROVISION: " << _url << std::endl;
pEp::UpdateClient::product p { "provisioning data", std::string(_url) };
pEp::UpdateClient::PublicKey update_key;
pEp::UpdateClient::load_key("update_key.der");
CryptoPP::ed25519PublicKey deployment_key;
SignedPackage::LoadPublicKey("deployment_key-pub.der", deployment_key);
CryptoPP::RSA::PrivateKey provisioning_key;
SignedPackage::LoadPrivateKey("provisioning_key.der", provisioning_key);
SignedPackage::provision_user(p, update_key, deployment_key, provisioning_key);
}
JNIEXPORT jstring JNICALL Java_foundation_pEp_jniadapter_AbstractEngine__1getVersion(JNIEnv *env,
jobject obj)
{

7
src/java/foundation/pEp/jniadapter/AbstractEngine.java

@ -49,6 +49,13 @@ abstract class AbstractEngine extends UniquelyIdentifiable implements AbstractEn
private native static boolean _getDebugLogEnabled();
// CodeGen "basic"
public static void provision(String url) {
byte[] _url = Utils.toUTF8(url);
_provision(_url);
}
private static native void _provision(byte[] url);
public String getVersion() {
return _getVersion();

Loading…
Cancel
Save