# Tutorial-Password-Manager-SGX-Java **Repository Path**: duyanning/tutorial-password-manager-sgx-java ## Basic Information - **Project Name**: Tutorial-Password-Manager-SGX-Java - **Description**: 英特尔SGX示例程序“密码管理器”的Java重写版 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-02-01 - **Last Updated**: 2022-05-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Java版的[Tutorial Password Manager](https://www.intel.com/content/www/us/en/developer/articles/training/introducing-the-intel-software-guard-extensions-tutorial-series.html). 下文中的`managed c++`是指`C++/CLI`, 而`native c++`是指`c++`. | 文件夹 | | | -------------------------------- | ---------------------------------- | | java-gui | Java编写的GUI, 取代原本C#编写的GUI | | cpp-core | 同原版中的native C++部分 | | cpp-core\PasswordManagerCoreImpl | java native方法背后的JNI函数 | 原版中用managed c++编写的部分, 改为用Java编写. 在managed c++中可以直接使用native c++, 但在Java中无法直接使用native c++, 所以, 在原来调用native c++的地方, 改为调用Java native方法, 然后由 Java native方法背后的JNI函数调用native c++代码. 原来用managed c++编写的`ref class PasswordManagerCore`, 现在改为用Java和C++共同编写. 也就是说, Java中的这个类, 一部分方法是用java编写的普通方法, 另一部分方法是用C++编写的native方法. 必要的设置: PATH环境变量需要设置, 因为java虚拟机需要加载实现JNI函数的dll, 例如: f:\work\idea-work\tutorial-password-manager-sgx-java\cpp-core\x64\Debug\