Skip to content

Commit

Permalink
feat: link_file_types
Browse files Browse the repository at this point in the history
Initial support for extending the link_file interfaces. This change
attempts to follow pre-existing dev patterns.

Extracted from fork https://github.com/henrybear327/go-proton-api
  • Loading branch information
major0 committed Jan 27, 2025
1 parent 67bd01a commit eb97403
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions link_file_types.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,40 @@
package proton

import (
"crypto/hmac"
"crypto/sha256"
"encoding/hex"

"github.com/ProtonMail/gopenpgp/v2/crypto"
)

/* Helper function */
func getEncryptedName(name string, addrKR, nodeKR *crypto.KeyRing) (string, error) {
clearTextName := crypto.NewPlainMessageFromString(name)

encName, err := nodeKR.Encrypt(clearTextName, addrKR)
if err != nil {
return "", err
}

encNameString, err := encName.GetArmored()
if err != nil {
return "", err
}

return encNameString, nil
}

func GetNameHash(name string, hashKey []byte) (string, error) {
mac := hmac.New(sha256.New, hashKey)
_, err := mac.Write([]byte(name))
if err != nil {
return "", err
}

return hex.EncodeToString(mac.Sum(nil)), nil
}

type CreateFileReq struct {
ParentLinkID string

Expand Down

0 comments on commit eb97403

Please sign in to comment.