View Issue Details

IDProjectCategoryView StatusLast Update
0003758Talerwallet (WebExtension)public2019-12-26 20:37
ReporterChristian Grothoff Assigned ToMarcello Stanisci Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PriorityhighSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Platformi7OSDebian GNU/LinuxOS Versionsqueeze
Product Versiongit (master) 
Target Version0.0Fixed in Version0.0 
Summary0003758: need implementation of SHA-512
DescriptionSignatures are made over values hashed using SHA-512. Thus, we need a SHA-512 implementation/API/wrapper in the wallet.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Relationships

related to 0003766 closedChristian Grothoff Should offer crypto-compatibility /test API 
child of 0003762 closedMarcello Stanisci wallet needs to support /withdraw/sign to withdraw coins 
child of 0003759 closedMarcello Stanisci need HKDF facility for key derivation in Wallet 
child of 0003757 closedChristian Grothoff need (GNUnet-compatible) implementations of ECDSA (with RFC 6979) 
child of 0003754 closedMarcello Stanisci need (GNUnet-compatible) implementations of EdDSA for browser-based wallet 

Activities

Christian Grothoff

2015-04-11 15:26

manager   ~0009069

As this is likely one of the first ones we will implement, I'm adding some links on "how to do crypto in Firefox extensions" here.

Basically, this (note: from 2012)
http://blog.peschla.net/2012/02/public-key-cryptography-in-mozilla-extensions/
says that the standard is to use js-ctypes (
https://developer.mozilla.org/en-US/docs/Mozilla/js-ctypes) to call libnss (mozilla's crypto library, implementing TLS-primitives).

The "modern" way is obviously the (2014) Web Cryptography API:
http://www.w3.org/TR/WebCryptoAPI/, which in principle is great, but I'm not sure FireFox supports Curve25519 _yet_. Still, this may happen "anytime now", so maybe that'll be OK (see also https://www.w3.org/Bugs/Public/show_bug.cgi?id=25839).

In the meantime, I suspect the answer is that we define an internal API, and where possible bind it against the Web Crypto and where not, against JS-implementation. For Curve25519 implementations, see http://ianix.com/pub/curve25519-deployment.html

Christian Grothoff

2015-04-18 16:37

manager   ~0009094

Here is another idea: use emscripten to compile libgnunetutil and libtalerutil to JavaScript, and then take all of the basics from there:

http://kripken.github.io/emscripten-site/

Note that this is what amatus is already doing for gnunet-web:

https://github.com/amatus/gnunet-web/

I *suspect* his needs for Chrome come from the GNUnet-service architecture (IPC!), so for Taler this should even be sufficiently portable.

Issue History

Date ModifiedUsernameFieldChange
2015-04-11 14:49Christian GrothoffNew Issue
2015-04-11 14:53Christian GrothoffCategorywallet => wallet (python command-line)
2015-04-11 14:54Christian GrothoffCategorywallet (python command-line) => wallet (browser-based)
2015-04-11 14:57Christian GrothoffRelationship addedchild of 0003762
2015-04-11 15:11Christian GrothoffRelationship addedchild of 0003759
2015-04-11 15:12Christian GrothoffRelationship addedchild of 0003757
2015-04-11 15:12Christian GrothoffRelationship addedchild of 0003754
2015-04-11 15:26Christian GrothoffNote Added: 0009069
2015-04-11 15:26Christian GrothoffAssigned To => Marcello Stanisci
2015-04-11 15:26Christian GrothoffStatusnew => assigned
2015-04-11 15:39Christian GrothoffRelationship addedrelated to 0003766
2015-04-18 16:37Christian GrothoffNote Added: 0009094
2015-06-25 13:27Marcello StanisciStatusassigned => informing
2015-06-25 13:27Marcello StanisciResolutionopen => fixed
2015-06-25 13:30Christian GrothoffFixed in Version => 0.0
2015-06-25 13:31Christian GrothoffStatusinforming => closed
2019-12-26 20:37Florian DoldCategorywallet (browser-based) => wallet (WebExtensions)
2023-04-13 18:37Florian DoldCategorywallet (WebExtensions) => wallet (WebExtension)