arnaucube
arnaucube/blockchainIDsystemPublic Self-hosted repository
blockchainIDsystem/clientApp/keys.go
clientApp/keys.goRaw
 1package main
 2
 3import (
 4	"encoding/json"
 5	"fmt"
 6	"io/ioutil"
 7	"net/http"
 8
 9	ownrsa "./ownrsa"
10	"github.com/fatih/color"
11)
12
13func readKeys(path string) []ownrsa.PackRSA {
14	var keys []ownrsa.PackRSA
15
16	file, err := ioutil.ReadFile(path)
17	check(err)
18	content := string(file)
19	json.Unmarshal([]byte(content), &keys)
20
21	return keys
22}
23
24func saveKeys(keys []ownrsa.PackRSA, path string) {
25	jsonKeys, err := json.Marshal(keys)
26	check(err)
27	err = ioutil.WriteFile(path, jsonKeys, 0644)
28	check(err)
29}
30
31func getServerPubK(url string) ownrsa.RSAPublicKey {
32	r, err := http.Get(url + "/")
33	check(err)
34	fmt.Println(r)
35
36	decoder := json.NewDecoder(r.Body)
37	//var sigmaString string
38	var pubK ownrsa.RSAPublicKey
39	err = decoder.Decode(&pubK)
40	if err != nil {
41		panic(err)
42	}
43	defer r.Body.Close()
44	color.Blue("received server pubK:")
45	fmt.Println(pubK)
46	return pubK
47}