Commit graph

53 commits

Author SHA1 Message Date
bunnie
376d7a713b Merge branch 'main' into u2f 2022-05-31 14:39:08 +08:00
bunnie
9d73b4732d stash to look at #171 2022-05-31 14:16:09 +08:00
Sean Cross
3ae9d8abf0 apps/services: remove xous::xous_main macro usage
This macro will be removed, since it is no longer necessary. Remove this
macro across the project and replace it with a standard `main()`
function.

Signed-off-by: Sean Cross <sean@xobs.io>
2022-05-31 13:33:30 +08:00
bunnie
6f84c76b9c fixup AES key references
the implementation uses an explicitly expanded key schedule for
every AES key, with separate enc/dec keys. This does save setting
up the key scheduler every time, but, it also breaks a lot of API
assumptions. Since we have the performance to afford the key
setup/teardown for every call, this commit basically turns
the key refs into actual slices of the key itself. This creates
a weird bit of code where you have an enc key being equated to
a dec key directly; those lines are left in to make it a bit easier
to diff against the original source.

But the high bit is that the original implementation, by expanding
the key scheduler, had to have a different enc and dec key schedule
(even tho they come from the same key) but this compacted form
makes them identical.

This commit also starts working in at converting the PersistentStore
to use the PDDB.

I think I basically understand the scope of the problem, and it's
mostly just some grunt recoding of the PersistentStore calls
to refer to PDDB entries by k/v names. The main thing I've done
so far is to recode the macro that creates the partitions in
OpenSK to just create string names for every item that needs
to be stored. These string names will be used to index into a dictionary
that is dedicated to the FIDO2 function.
2022-05-31 02:24:59 +08:00
bunnie
dd9aa25516 remove unused trait 2022-05-31 02:24:35 +08:00
bunnie
d4244b28af remove custom aes256 implementation 2022-05-31 00:41:13 +08:00
bunnie
a407f7e80d remove now-defunct custom elliptic curve implementation 2022-05-31 00:35:01 +08:00
bunnie
22181422b2 add ecdsa port first cut
this one is very iffy, but once we can run tests it should
chase out all the questions about which APIs go where.
2022-05-31 00:33:11 +08:00
bunnie
58ab2a059e add ecdh calls to "official" p256 crate 2022-05-30 18:52:12 +08:00
bunnie
11e8ce39e8 fix missing import 2022-05-30 16:05:17 +08:00
bunnie
f2ebfd88f4 patch sha2 to Xous implementation 2022-05-30 16:04:54 +08:00
bunnie
723b230a39 that was a long walk for a drink of water: cbc encryption
Woo? we have CBC encryption using Rust's most favored AES library
now.

I have a feeling I'm going to be re-doing all of this once they
decide to finally take GenericArray out back and shoot it....
2022-05-30 15:36:00 +08:00
bunnie
764a8ad195 partial progress on CBC porting.
man this GenericArray shit is so annoying.
2022-05-30 13:46:09 +08:00
bunnie
e84e378ef2 partial progress on aes integration
need to retrench and update AES crate to support some APIs
that allow for CBC modes
2022-05-29 20:35:11 +08:00
bunnie
0b1768115a retrench and try a new strategy for porting crypto libraries 2022-05-29 13:59:06 +08:00
bunnie
a4c72cc9bb fixup merge 2022-05-29 03:35:45 +08:00
bunnie
268fe63cc1 Merge branch 'main' into u2f 2022-05-29 03:25:49 +08:00
bunnie
7404fa292a
Update README.md 2022-05-29 01:47:53 +08:00
bunnie
251c84642f
Update README.md 2022-05-29 01:45:50 +08:00
bunnie
844543f72d beginning of ecdsa port...need to resolve rand_core dependency
*everoyne* is relying on rand_core, a later version, that uses
a "getrandom" thing that tries to make the call for random
number generators generic.

I mean, it's kind of cool, but, it's also sort of a libc
non-pure-rust nightmare because basically it always delegates
to a C-style API for a variety of platforms.

Next step is to see if we can't...patch...getrandom to point
to a much simplified, xous-only version that is 100% pure Rust.
2022-05-28 23:38:23 +08:00
bunnie
0a795ffaf7 add some shims for the CTAP module
the shims save some rewriting of heavily used Tock APIs to be
Xous-specific.
2022-05-28 18:20:16 +08:00
bunnie
2da0f0b812 some progess porting ctap to Xous 2022-05-28 18:19:52 +08:00
bunnie
9e1e80f089 organize the vault app, trim some things, get a dummy build going 2022-05-28 16:12:08 +08:00
bunnie
389ea55b00 add also the new files associated with the vault 2022-05-28 01:20:05 +08:00
bunnie
81f823ff34 migrate u2f to the "vault" app
The vault app is the beginning of a multi-purpose authentication vault.
It will feature:

1. FIDO2 authentication
2. TOTP authenticators
3. Password storage to PDDB with auto-typing via keyboard HID

This is the first step on a very very long journey.
2022-05-28 01:17:54 +08:00
Nicolas Dorier
7d540ddbd4
Fix link in repl demo
The link was relative but the README probably moved since then, I believe it's better to have absolute link.
2022-05-11 13:20:09 +09:00
nworbnhoj
0e561802ce enable notification modal text + qrcode
change the notification modal to accept the primary message and an
Option of independent text to display as a qrcode

pub fn show_notification(&self, notification: &str, qrtext:Option<&str>) -> Result<(), xous::Error> {}
2022-04-24 21:29:15 +10:00
bunnie
fb4ce334c4 missed an instance in a demo app 2022-04-08 15:27:40 +08:00
nworbnhoj
5ac7bd8b23
Link repl readme to wiki Push Events and Listeners 2022-04-06 06:42:01 +10:00
bunnie
b4d20a643c add tts locale to hello example 2022-03-21 00:22:54 +08:00
bunnie
731b847560
add translations
I think "hello world" might actually be the phrase used by the Japanese in their intro texts so leaving that as English.
2022-03-21 00:07:07 +08:00
Blake Smith
3fb30dc619 Add a basic 'hello world' app example 2022-03-18 12:43:54 -05:00
bunnie
21ad8d9283 change en-audio to en-tts 2022-03-10 15:38:55 +08:00
bunnie
9116cb02b1 back-propagate pause->abort changes.
in many of the test routines what we really wanted was an
abort, not a pause.
2022-03-08 19:03:02 +08:00
bunnie
fd5c6568d1 trim out some excess redraw calls that are slowing down boot 2022-02-05 18:55:46 +08:00
bunnie
6ab0513ebe update documentation 2022-02-02 23:46:06 +08:00
bunnie
2c97104d89 add manifest for apps 2022-02-02 16:18:28 +08:00
bunnie
05df4486ee incremental changes toward a manifest-format app system 2022-02-02 03:57:00 +08:00
Jeanie
58e8120526 ja translations added 2022-01-30 19:23:49 +09:00
Jeanie
aa65512d7d Revert "random jp chars including composed chars, for test"
This reverts commit 9a6b17cd49.
2022-01-30 15:13:32 +09:00
Jeanie
9a6b17cd49 random jp chars including composed chars, for test 2022-01-28 14:25:36 +09:00
bunnie
4dbff88015 add a little more flavor to the readme file 2022-01-25 03:24:52 +08:00
bunnie
d1563aa0ab add docs and screenshots 2022-01-25 03:11:50 +08:00
bunnie
b5faa1eb55 minor tweaks to the repl demo 2022-01-25 02:31:54 +08:00
bunnie
fcb27919d4 change name of the repl demo command to be more general 2022-01-25 02:03:38 +08:00
bunnie
617fc3b8f6 bug fixes in the REPL demo 2022-01-25 01:57:16 +08:00
bunnie
583c2e172b add a demo REPL app to help users get started with something more interactive 2022-01-24 19:06:58 +08:00
bunnie
7193f7003e some tweaks to improve the UX rendering quality 2022-01-24 17:07:45 +08:00
bunnie
8e13d6bcdf add drawlists to the GAM and gfx abstractions
this helps to prevent race conditions and improves performance
2022-01-24 16:33:01 +08:00
bunnie
6089672960 add localization to the demo app 2022-01-24 04:42:35 +08:00