Documentation ¶
Index ¶
- Variables
- func PKCS1PrivateKeyDecoder(privateKeyPem cryptox.Bytes) (*rsa.PrivateKey, error)
- func PKCS1PrivateKeyEncoder(key *rsa.PrivateKey) (cryptox.Bytes, error)
- func PKCS1PublicKeyDecoder(publicKeyPem cryptox.Bytes) (*rsa.PublicKey, error)
- func PKCS1PublicKeyEncoder(key *rsa.PublicKey) (cryptox.Bytes, error)
- func PKCS8PrivateKeyDecoder(privateKeyPem cryptox.Bytes) (*rsa.PrivateKey, error)
- func PKCS8PrivateKeyEncoder(key *rsa.PrivateKey) (cryptox.Bytes, error)
- func PKIXPublicKeyDecoder(publicKeyPem cryptox.Bytes) (*rsa.PublicKey, error)
- func PKIXPublicKeyEncoder(key *rsa.PublicKey) (cryptox.Bytes, error)
- type Key
- type KeyGenerator
- func (kg *KeyGenerator) GenerateKey(bits int) (Key, error)
- func (kg *KeyGenerator) GeneratePrivateKey(bits int) (*rsa.PrivateKey, cryptox.Bytes, error)
- func (kg *KeyGenerator) GeneratePublicKey(privateKey *rsa.PrivateKey) (*rsa.PublicKey, cryptox.Bytes, error)
- func (kg *KeyGenerator) GeneratePublicKeyFromPem(privateKeyPem cryptox.Bytes) (*rsa.PublicKey, cryptox.Bytes, error)
- func (kg *KeyGenerator) ParsePrivateKey(keyPem cryptox.Bytes) (*rsa.PrivateKey, error)
- func (kg *KeyGenerator) ParsePublicKey(keyPem cryptox.Bytes) (*rsa.PublicKey, error)
- type Option
- type PrivateKeyDecoder
- type PrivateKeyEncoder
- type PublicKeyDecoder
- type PublicKeyEncoder
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func PKCS1PrivateKeyDecoder ¶
func PKCS1PrivateKeyDecoder(privateKeyPem cryptox.Bytes) (*rsa.PrivateKey, error)
PKCS1PrivateKeyDecoder decodes private key from data using pkcs1.
func PKCS1PrivateKeyEncoder ¶
func PKCS1PrivateKeyEncoder(key *rsa.PrivateKey) (cryptox.Bytes, error)
PKCS1PrivateKeyEncoder encodes private key to bytes using pkcs1.
func PKCS1PublicKeyDecoder ¶
PKCS1PublicKeyDecoder encodes public key to bytes using pkcs1.
func PKCS1PublicKeyEncoder ¶
PKCS1PublicKeyEncoder encodes public key to bytes using pkcs1.
func PKCS8PrivateKeyDecoder ¶
func PKCS8PrivateKeyDecoder(privateKeyPem cryptox.Bytes) (*rsa.PrivateKey, error)
PKCS8PrivateKeyDecoder decodes private key from data using pkcs1.
func PKCS8PrivateKeyEncoder ¶
func PKCS8PrivateKeyEncoder(key *rsa.PrivateKey) (cryptox.Bytes, error)
PKCS8PrivateKeyEncoder encodes private key to bytes using pkcs8.
func PKIXPublicKeyDecoder ¶
PKIXPublicKeyDecoder encodes public key to bytes using pkix.
Types ¶
type Key ¶
Key stores public key and private key of rsa.
type KeyGenerator ¶
type KeyGenerator struct {
// contains filtered or unexported fields
}
KeyGenerator is a generator for generating rsa key including private and public.
func NewKeyGenerator ¶
func NewKeyGenerator(opts ...Option) *KeyGenerator
NewKeyGenerator returns a key generator with given options. By default, it uses pkcs1 to encode/decode private key and pkix to encode/decode public key. You can specify your encoder or decode.
func (*KeyGenerator) GenerateKey ¶
func (kg *KeyGenerator) GenerateKey(bits int) (Key, error)
GenerateKey generates a key set of bits.
func (*KeyGenerator) GeneratePrivateKey ¶
func (kg *KeyGenerator) GeneratePrivateKey(bits int) (*rsa.PrivateKey, cryptox.Bytes, error)
GeneratePrivateKey generates a private key of bits. It returns an original key struct (*rsa.PrivateKey) and a completing key bytes (cryptox.Bytes).
func (*KeyGenerator) GeneratePublicKey ¶
func (kg *KeyGenerator) GeneratePublicKey(privateKey *rsa.PrivateKey) (*rsa.PublicKey, cryptox.Bytes, error)
GeneratePublicKey generates a public key from private key. It returns an original key struct (*rsa.PublicKey) and a completing key bytes (cryptox.Bytes).
func (*KeyGenerator) GeneratePublicKeyFromPem ¶
func (kg *KeyGenerator) GeneratePublicKeyFromPem(privateKeyPem cryptox.Bytes) (*rsa.PublicKey, cryptox.Bytes, error)
GeneratePublicKeyFromPem generates a public key from private key pem. It returns an original key struct (*rsa.PublicKey) and a completing key bytes (cryptox.Bytes).
func (*KeyGenerator) ParsePrivateKey ¶
func (kg *KeyGenerator) ParsePrivateKey(keyPem cryptox.Bytes) (*rsa.PrivateKey, error)
ParsePrivateKey parses private key from pem.
func (*KeyGenerator) ParsePublicKey ¶
ParsePublicKey parses public key from pem.
type Option ¶
type Option func(generator *KeyGenerator)
Option is a function for setting key generator.
func WithPrivateKeyDecoder ¶
func WithPrivateKeyDecoder(decoder PrivateKeyDecoder) Option
WithPrivateKeyDecoder sets private key decoder to generator.
func WithPrivateKeyEncoder ¶
func WithPrivateKeyEncoder(encoder PrivateKeyEncoder) Option
WithPrivateKeyEncoder sets private key encoder to generator.
func WithPublicKeyDecoder ¶
func WithPublicKeyDecoder(decoder PublicKeyDecoder) Option
WithPublicKeyDecoder sets public key decoder to generator.
func WithPublicKeyEncoder ¶
func WithPublicKeyEncoder(encoder PublicKeyEncoder) Option
WithPublicKeyEncoder sets public key encoder to generator.
func (Option) ApplyTo ¶
func (o Option) ApplyTo(generator *KeyGenerator)
ApplyTo applies option to generator.
type PrivateKeyDecoder ¶
type PrivateKeyDecoder func(keyPem cryptox.Bytes) (*rsa.PrivateKey, error)
PrivateKeyDecoder decodes private key from pem bytes.
func (PrivateKeyDecoder) Decode ¶
func (pke PrivateKeyDecoder) Decode(keyPem cryptox.Bytes) (*rsa.PrivateKey, error)
Decode decodes private key from pem bytes.
type PrivateKeyEncoder ¶
type PrivateKeyEncoder func(key *rsa.PrivateKey) (cryptox.Bytes, error)
PrivateKeyEncoder encodes private key to pem bytes.
func (PrivateKeyEncoder) Encode ¶
func (pke PrivateKeyEncoder) Encode(key *rsa.PrivateKey) (cryptox.Bytes, error)
Encode encodes private key to pem bytes.
type PublicKeyDecoder ¶
PublicKeyDecoder decodes public key from pem bytes.