func New(signatureSuites ...SignatureSuite) *DocumentSigner {
	return &DocumentSigner{signatureSuites: signatureSuites}
}
New returns new instance of document verifier.
package signer
import (
	"encoding/base64"
	"encoding/json"
	"errors"
	"fmt"
	"time"
	"github.com/hyperledger/aries-framework-go/pkg/doc/signature/jsonld"
	"github.com/hyperledger/aries-framework-go/pkg/doc/signature/proof"
)
const defaultProofPurpose = "assertionMethod"
type SignatureSuite interface {
	GetCanonicalDocument(doc map[string]interface{}, opts ...jsonld.ProcessorOpts) ([]byte, error)
	GetDigest(doc []byte) []byte
	Accept(signatureType string) bool
	Sign(doc []byte) ([]byte, error)
	CompactProof() bool
}
type DocumentSigner struct {
	signatureSuites []SignatureSuite
}
type Context struct {
	SignatureType           string                         
	Creator                 string                         
	SignatureRepresentation proof.SignatureRepresentation  
	Created                 *time.Time                     
	Domain                  string                         
	Nonce                   []byte                         
	VerificationMethod      string                         
	Challenge               string                         
	Purpose                 string                         
	CapabilityChain         []interface{}                  
}