liftca

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

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

Go to latest
Published: Apr 2, 2017 License: Apache-2.0 Imports: 17 Imported by: 0

README

liftCA

liftCA is a fast, pragmatic and minimalistic web-based TLS certificate management tool.

It was built to simplify the work of generating certificates in an enclosed lab environment where a TLS certificate authority setup is required, but where learning to operate complex TLS tools is not the objective.

Please be sure to understand the security implications of trusting new certificate authorities or certificates within the environment you use liftCA in. Playing with these settings without fully understanding the implications can be dangerous.

How to Install and Run

liftCA is available in source form at https://github.com/jeanfric/liftca.

To build this tool, install Go (http://golang.org/), clone the repository, place it in your GOPATH, then run go build in src/liftca/cmd/liftca. The resulting liftca binary can then be started from that directory.

$ git clone https://github.com/jeanfric/liftca
$ export GOPATH="$(pwd)/liftca:$GOPATH"
$ cd liftca/src/liftca/cmd/liftca
$ go get
$ go build
$ ./liftca
2014/07/06 13:37:00 liftCA engaged at ':8080', data file 'store.gob'

License

Copyright 2014 Jean-Francois Richard

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewBarrel

func NewBarrel(barrelSize, keyBits int) *barrel

NewBarrel returns a barrel of barrelSize size and generates keyBits-sized keys

Types

type Parcel

type Parcel struct {
	Visible             bool
	Certificate         *x509.Certificate
	PrivateKey          *rsa.PrivateKey
	DERCertificateBytes []byte
}

func (*Parcel) AuthorityKeyID

func (p *Parcel) AuthorityKeyID() string

func (*Parcel) DERCRL

func (ca *Parcel) DERCRL(revoked []int64) (io.Reader, error)

func (*Parcel) DERCertificate

func (p *Parcel) DERCertificate() io.Reader

func (*Parcel) DERPrivateKey

func (p *Parcel) DERPrivateKey() io.Reader

func (*Parcel) Host

func (p *Parcel) Host() string

func (*Parcel) PEMCRL

func (ca *Parcel) PEMCRL(revoked []int64) (io.Reader, error)

func (*Parcel) PEMCertificate

func (p *Parcel) PEMCertificate() io.Reader

func (*Parcel) PEMPrivateKey

func (p *Parcel) PEMPrivateKey() io.Reader

func (*Parcel) PublicKey

func (p *Parcel) PublicKey() *rsa.PublicKey

func (*Parcel) SerialNumber

func (p *Parcel) SerialNumber() int64

func (*Parcel) SubjectKeyID

func (p *Parcel) SubjectKeyID() string

type Store

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

func LoadStore

func LoadStore(source io.Reader) *Store

func NewStore

func NewStore() *Store

func (*Store) Add

func (s *Store) Add(visible bool, parentId int64, host string) (int64, error)

func (*Store) AddCA

func (s *Store) AddCA(visible bool, name string) (int64, error)

func (*Store) AddExistingCA

func (s *Store) AddExistingCA(visible bool, pemCertificate []byte, pemPrivateKey []byte, pemPassword []byte) (int64, error)

func (*Store) DumpStore

func (s *Store) DumpStore(dest io.Writer)

func (*Store) Get

func (s *Store) Get(id int64) (*Parcel, bool)

func (*Store) GetCAs

func (s *Store) GetCAs() []int64

func (*Store) GetChildren

func (s *Store) GetChildren(id int64) ([]int64, bool)

func (*Store) GetParent

func (s *Store) GetParent(id int64) (int64, bool)

func (*Store) GetRevokedChildren

func (s *Store) GetRevokedChildren(id int64) []int64

func (*Store) IsRevoked

func (s *Store) IsRevoked(id int64) bool

func (*Store) SetRevoked

func (s *Store) SetRevoked(id int64, revoked bool)

func (*Store) Updates

func (s *Store) Updates(c chan<- struct{})

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

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