feat(dir2config): defaults
This commit is contained in:
		
							
								
								
									
										91
									
								
								vendor/golang.org/x/crypto/openpgp/packet/config.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										91
									
								
								vendor/golang.org/x/crypto/openpgp/packet/config.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1,91 @@
 | 
			
		||||
// Copyright 2012 The Go Authors. All rights reserved.
 | 
			
		||||
// Use of this source code is governed by a BSD-style
 | 
			
		||||
// license that can be found in the LICENSE file.
 | 
			
		||||
 | 
			
		||||
package packet
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"crypto"
 | 
			
		||||
	"crypto/rand"
 | 
			
		||||
	"io"
 | 
			
		||||
	"time"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
// Config collects a number of parameters along with sensible defaults.
 | 
			
		||||
// A nil *Config is valid and results in all default values.
 | 
			
		||||
type Config struct {
 | 
			
		||||
	// Rand provides the source of entropy.
 | 
			
		||||
	// If nil, the crypto/rand Reader is used.
 | 
			
		||||
	Rand io.Reader
 | 
			
		||||
	// DefaultHash is the default hash function to be used.
 | 
			
		||||
	// If zero, SHA-256 is used.
 | 
			
		||||
	DefaultHash crypto.Hash
 | 
			
		||||
	// DefaultCipher is the cipher to be used.
 | 
			
		||||
	// If zero, AES-128 is used.
 | 
			
		||||
	DefaultCipher CipherFunction
 | 
			
		||||
	// Time returns the current time as the number of seconds since the
 | 
			
		||||
	// epoch. If Time is nil, time.Now is used.
 | 
			
		||||
	Time func() time.Time
 | 
			
		||||
	// DefaultCompressionAlgo is the compression algorithm to be
 | 
			
		||||
	// applied to the plaintext before encryption. If zero, no
 | 
			
		||||
	// compression is done.
 | 
			
		||||
	DefaultCompressionAlgo CompressionAlgo
 | 
			
		||||
	// CompressionConfig configures the compression settings.
 | 
			
		||||
	CompressionConfig *CompressionConfig
 | 
			
		||||
	// S2KCount is only used for symmetric encryption. It
 | 
			
		||||
	// determines the strength of the passphrase stretching when
 | 
			
		||||
	// the said passphrase is hashed to produce a key. S2KCount
 | 
			
		||||
	// should be between 1024 and 65011712, inclusive. If Config
 | 
			
		||||
	// is nil or S2KCount is 0, the value 65536 used. Not all
 | 
			
		||||
	// values in the above range can be represented. S2KCount will
 | 
			
		||||
	// be rounded up to the next representable value if it cannot
 | 
			
		||||
	// be encoded exactly. When set, it is strongly encrouraged to
 | 
			
		||||
	// use a value that is at least 65536. See RFC 4880 Section
 | 
			
		||||
	// 3.7.1.3.
 | 
			
		||||
	S2KCount int
 | 
			
		||||
	// RSABits is the number of bits in new RSA keys made with NewEntity.
 | 
			
		||||
	// If zero, then 2048 bit keys are created.
 | 
			
		||||
	RSABits int
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *Config) Random() io.Reader {
 | 
			
		||||
	if c == nil || c.Rand == nil {
 | 
			
		||||
		return rand.Reader
 | 
			
		||||
	}
 | 
			
		||||
	return c.Rand
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *Config) Hash() crypto.Hash {
 | 
			
		||||
	if c == nil || uint(c.DefaultHash) == 0 {
 | 
			
		||||
		return crypto.SHA256
 | 
			
		||||
	}
 | 
			
		||||
	return c.DefaultHash
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *Config) Cipher() CipherFunction {
 | 
			
		||||
	if c == nil || uint8(c.DefaultCipher) == 0 {
 | 
			
		||||
		return CipherAES128
 | 
			
		||||
	}
 | 
			
		||||
	return c.DefaultCipher
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *Config) Now() time.Time {
 | 
			
		||||
	if c == nil || c.Time == nil {
 | 
			
		||||
		return time.Now()
 | 
			
		||||
	}
 | 
			
		||||
	return c.Time()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *Config) Compression() CompressionAlgo {
 | 
			
		||||
	if c == nil {
 | 
			
		||||
		return CompressionNone
 | 
			
		||||
	}
 | 
			
		||||
	return c.DefaultCompressionAlgo
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (c *Config) PasswordHashIterations() int {
 | 
			
		||||
	if c == nil || c.S2KCount == 0 {
 | 
			
		||||
		return 0
 | 
			
		||||
	}
 | 
			
		||||
	return c.S2KCount
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user