Move encoding utils in separate pkg

This commit is contained in:
Neeraj Gupta 2023-09-23 09:35:37 +05:30
parent 42a6217d44
commit d59991bd7f
5 changed files with 22 additions and 22 deletions

View file

@ -2,7 +2,7 @@ package crypto
import (
"bytes"
"cli-go/utils"
"cli-go/utils/encoding"
"encoding/base64"
"fmt"
"io"
@ -131,8 +131,8 @@ func SecretBoxOpen(c []byte, n []byte, k []byte) ([]byte, error) {
}
func SecretBoxOpenBase64(cipher string, nonce string, k []byte) ([]byte, error) {
var cp sodium.Bytes = utils.DecodeBase64(cipher)
out, err := cp.SecretBoxOpen(sodium.SecretBoxNonce{Bytes: utils.DecodeBase64(nonce)}, sodium.SecretBoxKey{Bytes: k})
var cp sodium.Bytes = encoding.DecodeBase64(cipher)
out, err := cp.SecretBoxOpen(sodium.SecretBoxNonce{Bytes: encoding.DecodeBase64(nonce)}, sodium.SecretBoxKey{Bytes: k})
if err != nil {
return nil, err
}

View file

@ -2,7 +2,7 @@ package model
import (
"cli-go/internal/crypto"
"cli-go/utils"
"cli-go/utils/encoding"
"log"
)
@ -17,13 +17,13 @@ func MakeEncString(plainTextBytes []byte, key []byte) *EncString {
log.Fatalf("failed to encrypt %s", err)
}
return &EncString{
CipherText: utils.EncodeBase64(cipher),
Nonce: utils.EncodeBase64(nonce),
CipherText: encoding.EncodeBase64(cipher),
Nonce: encoding.EncodeBase64(nonce),
}
}
func (e *EncString) MustDecrypt(key []byte) []byte {
plainBytes, err := crypto.DecryptChaCha20poly1305(utils.DecodeBase64(e.CipherText), key, utils.DecodeBase64(e.Nonce))
plainBytes, err := crypto.DecryptChaCha20poly1305(encoding.DecodeBase64(e.CipherText), key, encoding.DecodeBase64(e.Nonce))
if err != nil {
panic(err)
}

View file

@ -4,7 +4,7 @@ import (
"cli-go/internal/api"
enteCrypto "cli-go/internal/crypto"
"cli-go/pkg/model"
"cli-go/utils"
"cli-go/utils/encoding"
"context"
"encoding/base64"
"fmt"
@ -80,8 +80,8 @@ func (c *ClICtrl) getCollectionKey(ctx context.Context, collection api.Collectio
userID := ctx.Value("user_id").(int64)
if collection.Owner.ID == userID {
collKey, err := enteCrypto.SecretBoxOpen(
utils.DecodeBase64(collection.EncryptedKey),
utils.DecodeBase64(collection.KeyDecryptionNonce),
encoding.DecodeBase64(collection.EncryptedKey),
encoding.DecodeBase64(collection.KeyDecryptionNonce),
accSecretInfo.MasterKey)
if err != nil {
log.Fatalf("failed to decrypt collection key %s", err)

View file

@ -3,7 +3,7 @@ package pkg
import (
"cli-go/internal/api"
enteCrypto "cli-go/internal/crypto"
"cli-go/utils"
"cli-go/utils/encoding"
"context"
"fmt"
"log"
@ -34,18 +34,18 @@ func (c *ClICtrl) signInViaPassword(ctx context.Context, email string, srpAttr *
srpParams := srp.GetParams(4096)
identify := []byte(srpAttr.SRPUserID.String())
salt := utils.DecodeBase64(srpAttr.SRPSalt)
salt := encoding.DecodeBase64(srpAttr.SRPSalt)
clientSecret := srp.GenKey()
srpClient := srp.NewClient(srpParams, salt, identify, loginKey, clientSecret)
clientA := srpClient.ComputeA()
session, err := c.Client.CreateSRPSession(ctx, srpAttr.SRPUserID, utils.EncodeBase64(clientA))
session, err := c.Client.CreateSRPSession(ctx, srpAttr.SRPUserID, encoding.EncodeBase64(clientA))
if err != nil {
return nil, nil, err
}
serverB := session.SRPB
srpClient.SetB(utils.DecodeBase64(serverB))
srpClient.SetB(encoding.DecodeBase64(serverB))
clientM := srpClient.ComputeM1()
authResp, err := c.Client.VerifySRPSession(ctx, srpAttr.SRPUserID, session.SessionID, utils.EncodeBase64(clientM))
authResp, err := c.Client.VerifySRPSession(ctx, srpAttr.SRPUserID, session.SessionID, encoding.EncodeBase64(clientM))
if err != nil {
log.Printf("failed to verify %v", err)
continue
@ -83,8 +83,8 @@ func (c *ClICtrl) decryptAccSecretInfo(
currentKeyEncKey = keyEncKey
}
encryptedKey := utils.DecodeBase64(authResp.KeyAttributes.EncryptedKey)
encryptedKeyNonce := utils.DecodeBase64(authResp.KeyAttributes.KeyDecryptionNonce)
encryptedKey := encoding.DecodeBase64(authResp.KeyAttributes.EncryptedKey)
encryptedKeyNonce := encoding.DecodeBase64(authResp.KeyAttributes.KeyDecryptionNonce)
masterKey, err = enteCrypto.SecretBoxOpen(encryptedKey, encryptedKeyNonce, currentKeyEncKey)
if err != nil {
if keyEncKey != nil {
@ -96,8 +96,8 @@ func (c *ClICtrl) decryptAccSecretInfo(
}
}
secretKey, err = enteCrypto.SecretBoxOpen(
utils.DecodeBase64(authResp.KeyAttributes.EncryptedSecretKey),
utils.DecodeBase64(authResp.KeyAttributes.SecretKeyDecryptionNonce),
encoding.DecodeBase64(authResp.KeyAttributes.EncryptedSecretKey),
encoding.DecodeBase64(authResp.KeyAttributes.SecretKeyDecryptionNonce),
masterKey,
)
if err != nil {
@ -105,8 +105,8 @@ func (c *ClICtrl) decryptAccSecretInfo(
return nil, err
}
tokenKey, err = enteCrypto.SealedBoxOpen(
utils.DecodeBase64(authResp.EncryptedToken),
utils.DecodeBase64(authResp.KeyAttributes.PublicKey),
encoding.DecodeBase64(authResp.EncryptedToken),
encoding.DecodeBase64(authResp.KeyAttributes.PublicKey),
secretKey,
)
if err != nil {

View file

@ -1,4 +1,4 @@
package utils
package encoding
import (
"encoding/base64"