...

Source file src/github.com/sassoftware/relic/lib/pkcs9/iface.go

Documentation: github.com/sassoftware/relic/lib/pkcs9

     1  // Copyright © SAS Institute Inc.
     2  // Licensed under the Apache License, Version 2.0 (the "License");
     3  // you may not use this file except in compliance with the License.
     4  // You may obtain a copy of the License at
     5  //
     6  //     http://www.apache.org/licenses/LICENSE-2.0
     7  //
     8  // Unless required by applicable law or agreed to in writing, software
     9  // distributed under the License is distributed on an "AS IS" BASIS,
    10  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    11  // See the License for the specific language governing permissions and
    12  // limitations under the License.
    13  
    14  package pkcs9
    15  
    16  import (
    17  	"context"
    18  	"crypto"
    19  
    20  	"github.com/sassoftware/relic/lib/pkcs7"
    21  )
    22  
    23  // Timestamper is the common interface for the timestamp client and middleware
    24  type Timestamper interface {
    25  	Timestamp(ctx context.Context, req *Request) (*pkcs7.ContentInfoSignedData, error)
    26  }
    27  
    28  // Request holds parameters for a timestamp operation
    29  type Request struct {
    30  	// EncryptedDigest is the raw encrypted signature value
    31  	EncryptedDigest []byte
    32  	// Hash is the desired hash function for the timestamp. Ignored for legacy requests.
    33  	Hash crypto.Hash
    34  	// Legacy indicates a nonstandard microsoft timestamp request, otherwise RFC 3161 is used
    35  	Legacy bool
    36  }
    37  

View as plain text