From 68bda2ec9c61ddbd5799e561d9b193e19802b20e Mon Sep 17 00:00:00 2001
From: blavenie <benoit.lavenier@e-is.pro>
Date: Mon, 22 May 2017 10:59:08 +0200
Subject: [PATCH] fix #458

---
 www/js/services/crypto-services.js | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/www/js/services/crypto-services.js b/www/js/services/crypto-services.js
index f9119d841..d5eda53c3 100644
--- a/www/js/services/crypto-services.js
+++ b/www/js/services/crypto-services.js
@@ -509,6 +509,18 @@ angular.module('cesium.crypto.services', ['ngResource', 'cesium.device.services'
         return deferred.promise;
       };
 
+      /**
+       * Compute the box secret key, from a sign secret key
+       */
+      this.box_sk_from_sign = function(signSk) {
+        var deferred = $q.defer();
+        that.nacl.crypto_sign_ed25519_sk_to_curve25519(signSk, function(err, boxSk) {
+          if (err) { deferred.reject(err); return;}
+          deferred.resolve(boxSk);
+        });
+        return deferred.promise;
+      };
+
       /**
        * Encrypt a message, from a key pair
        */
@@ -596,6 +608,7 @@ angular.module('cesium.crypto.services', ['ngResource', 'cesium.device.services'
       this.box = {
         keypair: {
           fromSignKeypair: that.box_keypair_from_sign,
+          skFromSignSk: that.box_sk_from_sign,
           pkFromSignPk: that.box_pk_from_sign
         },
         pack: that.box,
-- 
GitLab