Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding Keystore Provider and Keyhandle for Knox by Team Vulcans Limes (D) #9

Open
wants to merge 146 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 138 commits
Commits
Show all changes
146 commits
Select commit Hold shift + click to select a range
dfd8346
Update README.md
noah-pe May 13, 2024
0f582ce
Add files via upload
MasterChief06 May 17, 2024
f0acb04
clean up
May 17, 2024
5555c29
Merge branch 'nmshd:main' into main
noah-pe May 17, 2024
8f742f5
added DESede & changed Hashing algo.
May 17, 2024
722c9e8
Merge branch 'main' of https://github.com/cep-sose2024/rust-crypto-knox
May 17, 2024
7f22487
factory.rs incomplete match
ErikFribus May 27, 2024
31ef154
imported files from old repo
segelnhoch3 May 27, 2024
d296b10
moved parameters from initmodule() to createkey()
segelnhoch3 May 27, 2024
b5258f8
create_key() implementation started
segelnhoch3 May 27, 2024
c071420
updated provider.rs matches
ErikFribus May 27, 2024
aac056e
create_key() fully implemented but not yet tested
segelnhoch3 May 27, 2024
dd454be
fixed typo
segelnhoch3 May 27, 2024
34efa98
Merge remote-tracking branch 'origin/main'
segelnhoch3 May 27, 2024
90cb7b8
merged enum-matches from origin and full implementation of create_key()
segelnhoch3 May 27, 2024
317c7bb
fixed AES String generation syntax in create_key()
segelnhoch3 May 28, 2024
5344546
quickfix to EC Strings
ErikFribus May 28, 2024
bdd98b5
Tested EC curves, deleted unsupported curves
ErikFribus May 28, 2024
166f1cc
added KnoxProvider and defined implementations for it
segelnhoch3 May 28, 2024
5c9cd57
Merge remote-tracking branch 'origin/main'
segelnhoch3 May 28, 2024
53817df
successful abstraction layer integration
noah-pe May 28, 2024
1c1ee39
Merge remote-tracking branch 'origin/main'
noah-pe May 28, 2024
391ed57
fixed syntax mistakes
segelnhoch3 May 28, 2024
39f349d
changed jnienv to javaVM for parameters
segelnhoch3 May 28, 2024
2cbd17a
Merge remote-tracking branch 'origin/main'
segelnhoch3 May 28, 2024
2c065e9
unshelve
ErikFribus May 28, 2024
03ffacf
moved and updated
noah-pe May 28, 2024
2e16e92
functions in key_handle.rs now call interface functions
ErikFribus May 28, 2024
2fbb020
Merge remote-tracking branch 'origin/main'
ErikFribus May 28, 2024
cde1ab4
fixed typo
segelnhoch3 May 28, 2024
0727d21
Merge remote-tracking branch 'origin/main'
segelnhoch3 May 28, 2024
c64eff2
quickfix for key_handle.rs
ErikFribus May 28, 2024
fdc24e8
Merge remote-tracking branch 'origin/main'
ErikFribus May 28, 2024
9c00d2a
rust compiles without errors
segelnhoch3 May 28, 2024
160dc16
Rust code compiles - Calling create_key() in crypto layer doesnt work
segelnhoch3 May 28, 2024
e81644b
CryptoManager.java updated
ErikFribus May 29, 2024
7854e10
Merge remote-tracking branch 'origin/main'
ErikFribus May 29, 2024
0e43a9e
load_key methode ansatz
May 29, 2024
922050f
implemented creation of new AndroidProvider
segelnhoch3 May 31, 2024
0929f9d
Merge remote-tracking branch 'origin/main'
segelnhoch3 May 31, 2024
044724e
Create Doc.md
MasterChief06 May 31, 2024
9c82615
Update Doc.md
MasterChief06 May 31, 2024
4c34283
Update Doc.md
MasterChief06 May 31, 2024
6971ce7
Update Doc.md
MasterChief06 May 31, 2024
f1bc9bf
Add files via upload
MasterChief06 May 31, 2024
77a2e7f
Update Doc.md
MasterChief06 May 31, 2024
a50d77e
Add files via upload
MasterChief06 May 31, 2024
81e36a8
Update Doc.md
MasterChief06 May 31, 2024
3d20994
reworked ProviderConfig to Any
segelnhoch3 May 31, 2024
38981d2
Merge remote-tracking branch 'origin/main'
segelnhoch3 May 31, 2024
399f914
removed rsa < 512 since it is not supported by knox vault
segelnhoch3 May 31, 2024
3d0ade5
cleaned up imports
segelnhoch3 May 31, 2024
d3b689c
added sign/verify + encrypt/decrypt functionality
segelnhoch3 May 31, 2024
102e877
Updated CryptoManager.java
May 31, 2024
b703ab3
initmodule gets called by create/load_key
segelnhoch3 Jun 3, 2024
f88c507
Merge remote-tracking branch 'origin/main'
segelnhoch3 Jun 3, 2024
a69ef7e
added error handling if no key is loaded
segelnhoch3 Jun 3, 2024
5287b00
fixed and completed documentation of methods and structs
segelnhoch3 Jun 3, 2024
3f688ee
added folder for doc images
segelnhoch3 Jun 3, 2024
3b0fb39
added DES and ECC functionality
noah-pe Jun 3, 2024
1486488
Merge remote-tracking branch 'origin/main'
noah-pe Jun 3, 2024
8b67ee6
Updated Doc.md: Rewrote Introduction
ErikFribus Jun 3, 2024
8354900
Merge remote-tracking branch 'origin/main'
ErikFribus Jun 3, 2024
6199a05
Updated Doc.md: Updated KeyStore API
ErikFribus Jun 3, 2024
0261045
class path variable
noah-pe Jun 3, 2024
c75c1a2
added JNI Documentation
segelnhoch3 Jun 4, 2024
596e993
Merge remote-tracking branch 'origin/main'
segelnhoch3 Jun 4, 2024
2051a2d
Updated Doc.md: Updated KeyStore API documentation
ErikFribus Jun 4, 2024
6644bb3
QuickFix: KeyStore API documentation format
ErikFribus Jun 4, 2024
caf8d42
QuickFix: KeyStore API documentation fixed format and spelling
ErikFribus Jun 4, 2024
54e604d
added installation guide
segelnhoch3 Jun 4, 2024
d39e702
Merge remote-tracking branch 'origin/main'
segelnhoch3 Jun 4, 2024
6ac0277
Update mod.rs
noah-pe Jun 4, 2024
ea78551
Update mod.rs again
noah-pe Jun 4, 2024
825c2e7
Updated CryptoManager.java: Updated JavaDoc, removed To-Do's
ErikFribus Jun 4, 2024
0f02d87
Updated RustDef.java: Updated JavaDoc
ErikFribus Jun 4, 2024
27c4eb8
Update module_provider.rs
noah-pe Jun 4, 2024
f38f0c1
Updated module_provider.rs
noah-pe Jun 4, 2024
4989f3e
fixing merge conflict
noah-pe Jun 4, 2024
96816b1
Merge branch 'main' into main
noah-pe Jun 4, 2024
7556bc2
merge conflict fixed, only 1 robusta_jni
noah-pe Jun 4, 2024
302cb88
Merge remote-tracking branch 'origin/main'
noah-pe Jun 4, 2024
655a0e7
Licence Doc.md
MasterChief06 Jun 5, 2024
ae9463c
Update Doc.md
MasterChief06 Jun 5, 2024
e4408bc
Update Componentdiagram Doc.md
MasterChief06 Jun 5, 2024
46078c3
Update Componentdia desc. Doc.md
MasterChief06 Jun 5, 2024
d4bd25c
added "comprehensive overview" to doc
noah-pe Jun 5, 2024
b39167e
Updated RustDef.java & CryptoManager.java: Updated code documentation…
ErikFribus Jun 6, 2024
d585dfe
Generated and added JavaDoc to Documents folder
ErikFribus Jun 6, 2024
00b0c86
Update Doc.md
MasterChief06 Jun 6, 2024
e50748c
Update new structure Doc.md
MasterChief06 Jun 6, 2024
ef94f28
Finialized Installation guide
segelnhoch3 Jun 6, 2024
03de0e5
added links to installation guide
segelnhoch3 Jun 6, 2024
ab5ab3f
fixed broken links
segelnhoch3 Jun 6, 2024
1b77313
Updated Doc.md: Added Next Steps
ErikFribus Jun 6, 2024
aa1cdce
CleanUp Doc.md
MasterChief06 Jun 6, 2024
84346d3
Unfolding section integrated Doc.md
MasterChief06 Jun 6, 2024
f0cefac
udated path for component diagram Doc.md
MasterChief06 Jun 6, 2024
d42846a
Fixed Doc.md: Format in "Integrating this Repo into your project"
ErikFribus Jun 6, 2024
5083397
cleaned up unused code warnings
segelnhoch3 Jun 6, 2024
4a3483e
Merge remote-tracking branch 'origin/main'
segelnhoch3 Jun 6, 2024
945b287
Updated Doc.md: added references
ErikFribus Jun 6, 2024
07e5463
fixed broken Markdown syntax
segelnhoch3 Jun 6, 2024
550775e
added key metadata to next steps
segelnhoch3 Jun 6, 2024
2f13800
added check during KnoxConfig creation
segelnhoch3 Jun 7, 2024
fef9329
simplified Error handling
segelnhoch3 Jun 7, 2024
7c1ec52
fixed missing Ok() in downcast_Config()
segelnhoch3 Jun 7, 2024
8cf6d9e
Merge remote-tracking branch 'origin/main'
segelnhoch3 Jun 7, 2024
d159854
fixed typo
segelnhoch3 Jun 7, 2024
555e140
added Contribution link to enmeshed Doc.md
MasterChief06 Jun 7, 2024
876d630
added RustDoc
segelnhoch3 Jun 7, 2024
a3a6137
fixed links to Java + Rust Doc
segelnhoch3 Jun 7, 2024
93812fe
Added code snippets to Usage section with text Doc.md
MasterChief06 Jun 7, 2024
cab0b66
Updated Usage and added Note section Doc.md
MasterChief06 Jun 7, 2024
6475dc3
changing Feedback from Team-Meeting Doc.md
MasterChief06 Jun 7, 2024
032f9c3
Updated Doc.md: Usage
ErikFribus Jun 7, 2024
49ef535
Updated Doc.md: Updated supported algorithms
ErikFribus Jun 10, 2024
d771615
fixed ToC
segelnhoch3 Jun 10, 2024
b082dc3
fixed ToC
segelnhoch3 Jun 10, 2024
a65d659
Merge remote-tracking branch 'origin/main'
segelnhoch3 Jun 10, 2024
53469d4
fixed Usage guide
segelnhoch3 Jun 10, 2024
86608d0
fixed Usage indentation
segelnhoch3 Jun 10, 2024
96c20eb
fixed typos in Doc
segelnhoch3 Jun 10, 2024
78ec3d4
Update Doc.md: Updated supported algorithms
ErikFribus Jun 10, 2024
8ab6433
Updated provider.rs: Removed some RSA matches
ErikFribus Jun 10, 2024
e5b6c69
Update Doc.md: Fixed command format in "Integrating this Repo into yo…
ErikFribus Jun 10, 2024
d3f8b7b
Update Doc.md: Updated command and code format in chapter " JNI-Imple…
ErikFribus Jun 10, 2024
947d9a2
Merge branch 'main' into main
segelnhoch3 Jun 11, 2024
f1086a2
added new next steps
segelnhoch3 Jun 11, 2024
c945308
Create Project_requirements.md + add functional requirements
segelnhoch3 Jun 11, 2024
5e2fe64
added non-functional requirements
segelnhoch3 Jun 11, 2024
e4f723e
Added Status + Introduction
segelnhoch3 Jun 11, 2024
c324915
added missing Status
segelnhoch3 Jun 11, 2024
747a1da
Update README.md: Reverted changes
ErikFribus Jun 13, 2024
106bb27
Create README.md in tpm/android/knox
ErikFribus Jun 13, 2024
9457d5a
Quickfix README.md: Documentation link fixed
ErikFribus Jun 13, 2024
b80d66c
added Testing Procedure
segelnhoch3 Jun 13, 2024
ee49d0b
Merge branch 'main' into main
noah-pe Jun 13, 2024
f09c018
updated testing purposes
noah-pe Jun 14, 2024
a274f1a
Updated CryptoManager.java: IV Constants and JavaDoc
Jun 14, 2024
01889cd
Merge remote-tracking branch 'origin/main'
Jun 14, 2024
3c6a5bb
Update JNI Implementation
segelnhoch3 Jun 17, 2024
7366681
Updated CryptoManager.java and JavaDoc:
ErikFribus Jun 17, 2024
cc1a781
Quickfix CryptoManager.java:
ErikFribus Jun 19, 2024
a736ae8
Updated Doc.md: Supported Algorithms
ErikFribus Jun 19, 2024
15321a0
fixed broken code markers
segelnhoch3 Jun 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .idea/rust-crypto-knox.iml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

17 changes: 16 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ win = ["tpm", "windows"]
yubi = ["hsm", "yubikey"]

[dependencies]
jni = "0.20.0"
anyhow = "*"
async-std = "*"
futures = "*"
Expand Down
457 changes: 457 additions & 0 deletions Documentation/Doc.md

Large diffs are not rendered by default.

67 changes: 67 additions & 0 deletions Documentation/JavaDoc/allclasses-index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (21) on Thu Jun 06 08:08:05 CEST 2024 -->
<title>All Classes and Interfaces</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2024-06-06">
<meta name="description" content="class index">
<meta name="generator" content="javadoc/AllClassesIndexWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
</head>
<body class="all-classes-index-page">
<script type="text/javascript">var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="tpm/android/knox/java/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html#all-classes">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div id="navbar-sub-list"></div>
<div class="nav-list-search"><a href="search.html">SEARCH</a>
<input type="text" id="search-input" disabled placeholder="Search">
<input type="reset" id="reset-button" disabled value="reset">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="All Classes and Interfaces" class="title">All Classes and Interfaces</h1>
</div>
<div id="all-classes-table">
<div class="caption"><span>Classes</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="tpm/android/knox/java/CryptoManager.html" title="class in tpm.android.knox.java">CryptoManager</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">This class provides all the methods we need for communication with the keystore and cryptographic systems.</div>
</div>
</div>
</div>
</main>
</div>
</div>
</body>
</html>
63 changes: 63 additions & 0 deletions Documentation/JavaDoc/allpackages-index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (21) on Thu Jun 06 08:08:05 CEST 2024 -->
<title>All Packages</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2024-06-06">
<meta name="description" content="package index">
<meta name="generator" content="javadoc/AllPackagesIndexWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jquery-3.6.1.min.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
</head>
<body class="all-packages-index-page">
<script type="text/javascript">var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="tpm/android/knox/java/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html#all-packages">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div id="navbar-sub-list"></div>
<div class="nav-list-search"><a href="search.html">SEARCH</a>
<input type="text" id="search-input" disabled placeholder="Search">
<input type="reset" id="reset-button" disabled value="reset">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="All&amp;nbsp;Packages" class="title">All&nbsp;Packages</h1>
</div>
<div class="caption"><span>Package Summary</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="tpm/android/knox/java/package-summary.html">tpm.android.knox.java</a></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</main>
</div>
</div>
</body>
</html>
33 changes: 33 additions & 0 deletions Documentation/JavaDoc/copy.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions Documentation/JavaDoc/element-list
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
tpm.android.knox.java
Loading