Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
      View Source
      
  
    var PublicKeyAlgorithmStrings = map[string]PublicKeyAlgorithm{ RSA.String(): { Algorithm: x509.RSA, KeySize: map[int]interface{}{ 2048: true, 4096: true, }, Signature: map[string]bool{ "SHA256WITHRSA": true, "SHA384WITHRSA": true, "SHA512WITHRSA": true, "SHA256WITHRSAPSS": true, "SHA384WITHRSAPSS": true, "SHA512WithRSAPSS": true, }, SigningAlgorithm: map[x509.SignatureAlgorithm]bool{ x509.SHA256WithRSA: true, x509.SHA384WithRSA: true, x509.SHA512WithRSA: true, x509.SHA256WithRSAPSS: true, x509.SHA384WithRSAPSS: true, x509.SHA512WithRSAPSS: true, }, }, ECDSA.String(): { Algorithm: x509.ECDSA, KeySize: map[int]interface{}{ 256: elliptic.P256(), 384: elliptic.P384(), 521: elliptic.P521(), }, Signature: map[string]bool{ "SHA256WITHECDSA": true, "SHA384WITHECDSA": true, "SHA512WITHECDSA": true, }, SigningAlgorithm: map[x509.SignatureAlgorithm]bool{ x509.ECDSAWithSHA256: true, x509.ECDSAWithSHA384: true, x509.ECDSAWithSHA512: true, }, }, Ed25519.String(): { Algorithm: x509.Ed25519, KeySize: map[int]interface{}{ 256: true, }, }, }
      View Source
      
  
    var PublicKeyAlgorithms = map[KeyType]PublicKeyAlgorithm{ RSA: { Algorithm: x509.RSA, KeySize: map[int]interface{}{ 2048: true, 4096: true, }, Signature: map[string]bool{ "SHA256WITHRSA": true, "SHA384WITHRSA": true, "SHA512WITHRSA": true, "SHA256WITHRSAPSS": true, "SHA384WITHRSAPSS": true, "SHA512WithRSAPSS": true, }, SigningAlgorithm: map[x509.SignatureAlgorithm]bool{ x509.SHA256WithRSA: true, x509.SHA384WithRSA: true, x509.SHA512WithRSA: true, x509.SHA256WithRSAPSS: true, x509.SHA384WithRSAPSS: true, x509.SHA512WithRSAPSS: true, }, }, ECDSA: { Algorithm: x509.ECDSA, KeySize: map[int]interface{}{ 256: elliptic.P256(), 384: elliptic.P384(), 521: elliptic.P521(), }, Signature: map[string]bool{ "SHA256WITHECDSA": true, "SHA384WITHECDSA": true, "SHA512WITHECDSA": true, }, SigningAlgorithm: map[x509.SignatureAlgorithm]bool{ x509.ECDSAWithSHA256: true, x509.ECDSAWithSHA384: true, x509.ECDSAWithSHA512: true, }, }, Ed25519: { Algorithm: x509.Ed25519, KeySize: map[int]interface{}{ 256: true, }, }, }
      View Source
      
  
    var SignatureAlgorithm = map[x509.SignatureAlgorithm]func() (hash.Hash, crypto.Hash){ x509.ECDSAWithSHA256: func() (hash.Hash, crypto.Hash) { return sha256.New(), crypto.SHA256 }, x509.ECDSAWithSHA384: func() (hash.Hash, crypto.Hash) { return sha512.New384(), crypto.SHA384 }, x509.ECDSAWithSHA512: func() (hash.Hash, crypto.Hash) { return sha512.New(), crypto.SHA512 }, x509.SHA256WithRSA: func() (hash.Hash, crypto.Hash) { return sha256.New(), crypto.SHA256 }, x509.SHA384WithRSA: func() (hash.Hash, crypto.Hash) { return sha512.New384(), crypto.SHA384 }, x509.SHA512WithRSA: func() (hash.Hash, crypto.Hash) { return sha512.New(), crypto.SHA512 }, x509.SHA256WithRSAPSS: func() (hash.Hash, crypto.Hash) { return sha256.New(), crypto.SHA256 }, x509.SHA384WithRSAPSS: func() (hash.Hash, crypto.Hash) { return sha512.New384(), crypto.SHA384 }, x509.SHA512WithRSAPSS: func() (hash.Hash, crypto.Hash) { return sha512.New(), crypto.SHA512 }, }
      View Source
      
  
var ValidSignatures = map[string]SigningAlgorithm{ "SHA256WITHECDSA": { Common: x509.ECDSAWithSHA256, PCA: types.SigningAlgorithmSha256withecdsa, }, "SHA384WITHECDSA": { Common: x509.ECDSAWithSHA384, PCA: types.SigningAlgorithmSha384withecdsa, }, "SHA512WITHECDSA": { Common: x509.ECDSAWithSHA512, PCA: types.SigningAlgorithmSha512withecdsa, }, "SHA256WITHRSA": { Common: x509.SHA256WithRSA, PCA: types.SigningAlgorithmSha256withrsa, }, "SHA384WITHRSA": { Common: x509.SHA384WithRSA, PCA: types.SigningAlgorithmSha384withrsa, }, "SHA512WITHRSA": { Common: x509.SHA512WithRSA, PCA: types.SigningAlgorithmSha512withrsa, }, }
Functions ¶
This section is empty.
Types ¶
type CertificateRequest ¶
type CertificateRequest struct {
	CommonName            string
	SubjectAlternateNames []string
	DistinguishedName     DistinguishedName
	SigningAlgorithm      x509.SignatureAlgorithm
	PublicKeyAlgorithm    x509.PublicKeyAlgorithm
	KeySize               int
	Output                Output
}
    type DistinguishedName ¶
type Manifest ¶
type Manifest struct {
	CertificateChain []*x509.Certificate
	SigningAlgorithm x509.SignatureAlgorithm
	Signature        *[]byte
	Hash             *[]byte
	Data             Data
}
    type PublicKeyAlgorithm ¶
type PublicKeyAlgorithm struct {
	Algorithm        x509.PublicKeyAlgorithm
	KeySize          map[int]interface{}
	Signature        map[string]bool
	SigningAlgorithm map[x509.SignatureAlgorithm]bool
}
    type Signature ¶
type Signature struct {
	CertificateRequest CertificateRequest
	SigningAlgorithm   x509.SignatureAlgorithm
	Data
}
    type SignedCertificate ¶
type SigningAlgorithm ¶
type SigningAlgorithm struct {
	Common x509.SignatureAlgorithm
	PCA    types.SigningAlgorithm
}
    type SigningRequest ¶
type TrustChain ¶
 Click to show internal directories. 
   Click to hide internal directories.