51 lines
1.1 KiB
Go
51 lines
1.1 KiB
Go
/*
|
|
Package frostfscrypto collects FrostFS cryptographic primitives.
|
|
|
|
Signer type unifies entities for signing FrostFS data.
|
|
|
|
// instantiate Signer
|
|
// select data to be signed
|
|
|
|
var sig Signature
|
|
|
|
err := sig.Calculate(signer, data)
|
|
// ...
|
|
|
|
// attach signature to the request
|
|
|
|
SDK natively supports several signature schemes that are implemented
|
|
in nested packages.
|
|
|
|
PublicKey allows to verify signatures.
|
|
|
|
// get signature to be verified
|
|
// compose signed data
|
|
|
|
isValid := sig.Verify(data)
|
|
// ...
|
|
|
|
Signature can be also used to process FrostFS API V2 protocol messages
|
|
(see neo.fs.v2.refs package in https://git.frostfs.info/TrueCloudLab/frostfs-api).
|
|
|
|
On client side:
|
|
|
|
import "git.frostfs.info/TrueCloudLab/frostfs-sdk-go/api/refs"
|
|
|
|
var msg refs.Signature
|
|
sig.WriteToV2(&msg)
|
|
|
|
// send msg
|
|
|
|
On server side:
|
|
|
|
// recv msg
|
|
|
|
var sig frostfscrypto.Signature
|
|
sig.ReadFromV2(msg)
|
|
|
|
// process sig
|
|
|
|
Using package types in an application is recommended to potentially work with
|
|
different protocol versions with which these types are compatible.
|
|
*/
|
|
package frostfscrypto
|