ca

package module
v0.0.0-...-b3d3499 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2018 License: MIT Imports: 8 Imported by: 0

README

Certographer
============

image:https://travis-ci.org/lordspacehog/certographer.svg["Build Status", link="https://travis-ci.org/lordspacehog/certographer"] image:https://godoc.org/github.com/lordspacehog/certographer?status.svg["GoDoc", link="https://godoc.org/github.com/lordspacehog/certographer"]

Certographer is a golang library and a set of userspace tools to allow for easy creation and management of a Certificate Authority. The project goal is to allow easy and secure issuing of certificates that are fully complient with published RFCs.

Goals
=====

- [*] RSA Certificate Authority Creation
- [ ] RSA Certificate Issuing
- [ ] RSA Certificate Revokation
- [ ] ECDSA Certificate Authority Creation
- [ ] RSA Certificate Issuing
- [ ] RSA Certificate Revokation
- [ ] CSR Certificate Issuing
- [*] In Memory Datastore (for testing)
- [ ] File Datastore
- [ ] Postgres Datastore
- [ ] boltdb Datastore

Installation
============

[source,bash]
----
go get github.com/lordspacehog/certographer
----

Usage
=====

TODO: Write Usage for bundled cli

Contributing
============

. Fork It!
. Create your feature branch: `git checkout -b feature/my-feature`
. Commit your feature branch: `git commit -am "my new feature"`
. Push to the feature branch: `git push origin feature/my-feature`
. Create a pull request!

Credits
=======

- Alex Swehla
- Sean Swehla

License
=======

MIT License (See LICENSE in root of repository)

Documentation

Overview

Package certographer provides methods for generating a Certificate Authority and managing SSL certificates

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type AuthorityKeyIdentifier

type AuthorityKeyIdentifier struct {
	KeyIdentifier             []byte
	AuthorityCertIssuer       []byte
	AuthorityCertSerialNumber []byte
}

type CA

type CA struct {
	// contains filtered or unexported fields
}

func InitRSA

func InitRSA(datastore Datastore, bitDepth int, subject pkix.Name) (*CA, error)

func New

func New(datastore Datastore) (*CA, error)

type Datastore

type Datastore interface {
	Store(cert *x509.Certificate) error
	StoreCAKey(privateKey interface{}) error
	StoreCACert(cert *x509.Certificate) error
	GetCAKey() (interface{}, error)
	GetCACert() (*x509.Certificate, error)
	FindByFingerprint(fp string) (*x509.Certificate, error)
	FindBySerialNumber(sn *big.Int) (*x509.Certificate, error)
	GetAllCerts() ([]*x509.Certificate, error)
}

type MemDatastore

type MemDatastore struct {
	// contains filtered or unexported fields
}

func NewMemDatastore

func NewMemDatastore() *MemDatastore

func (*MemDatastore) FindByFingerprint

func (memds *MemDatastore) FindByFingerprint(fp string) (*x509.Certificate, error)

func (*MemDatastore) FindBySerialNumber

func (memds *MemDatastore) FindBySerialNumber(sn *big.Int) (*x509.Certificate, error)

func (*MemDatastore) GetAllCerts

func (memds *MemDatastore) GetAllCerts() ([]*x509.Certificate, error)

func (*MemDatastore) GetCACert

func (memds *MemDatastore) GetCACert() (*x509.Certificate, error)

func (*MemDatastore) GetCAKey

func (memds *MemDatastore) GetCAKey() (interface{}, error)

func (*MemDatastore) Store

func (memds *MemDatastore) Store(cert *x509.Certificate) error

func (*MemDatastore) StoreCACert

func (memds *MemDatastore) StoreCACert(cert *x509.Certificate) error

func (*MemDatastore) StoreCAKey

func (memds *MemDatastore) StoreCAKey(privateKey interface{}) error

Directories

Path Synopsis
cmd
cg
Package main provides a command-line utility to expose certographer functionality
Package main provides a command-line utility to expose certographer functionality

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL