// sigTime optionally specifies the signature time. // If zero, the current time is used. func (c *Client) signBlob(bb schema.Buildable, sigTime time.Time) (string, error) { signer, err := c.Signer() if err != nil { return "", err } return bb.Builder().SignAt(signer, sigTime) }
// sigTime optionally specifies the signature time. // If zero, the current time is used. func (c *Client) SignBlob(bb schema.Buildable, sigTime time.Time) (string, error) { camliSigBlobref := c.SignerPublicKeyBlobref() if !camliSigBlobref.Valid() { // TODO: more helpful error message return "", errors.New("No public key configured.") } b := bb.Builder().SetSigner(camliSigBlobref).Blob() return c.Sign(&jsonsign.SignRequest{ UnsignedJSON: b.JSON(), SignatureTime: sigTime, }) }
// sigTime optionally specifies the signature time. // If zero, the current time is used. func (up *Uploader) SignBlob(bb schema.Buildable, sigTime time.Time) (string, error) { camliSigBlobref := up.Client.SignerPublicKeyBlobref() if camliSigBlobref == nil { // TODO: more helpful error message return "", errors.New("No public key configured.") } b := bb.Builder().SetSigner(camliSigBlobref).Blob() sr := &jsonsign.SignRequest{ UnsignedJSON: b.JSON(), Fetcher: up.Client.GetBlobFetcher(), EntityFetcher: up.entityFetcher, SignatureTime: sigTime, } return sr.Sign() }