func GenerateNonce() *big.Int {
	buf := make([]byte, nonceBytes)
	if _, err := rand.Read(buf); err != nil {
		panic(err)
	}
	return new(big.Int).SetBytes(buf[:])
}
GenerateNonce generates a new nonce for this TSR.
package timestamp
import (
	"bytes"
	"crypto"
	"crypto/rand"
	"crypto/x509/pkix"
	"encoding/asn1"
	"fmt"
	"io"
	"math/big"
	"net/http"
	"strings"
	"time"
	"github.com/github/ietf-cms/oid"
	"github.com/github/ietf-cms/protocol"
)
type HTTPClient interface {
	Do(*http.Request) (*http.Response, error)
}
var DefaultHTTPClient = HTTPClient(http.DefaultClient)
const (
	contentTypeTSQuery = "application/timestamp-query"
	contentTypeTSReply = "application/timestamp-reply"
	nonceBytes         = 16
)