Code Monkey home page Code Monkey logo

go-acme-client's Introduction

Purpose

acme-client is an ACME client (the prococol behind https://letsencrypt.org/) which tries to take away the magic; it needs manual handling of the challenge response, although it aids the administrator in the process.

The security benefit is that the registration (consisting of a private key) can be kept offline, instead of keeping it on the live server as intended by the letsencrypt project.

THIS PROJECT IS STILL EXPERIMENTAL; EACH UPDATE MIGHT BREAK THE LOCAL STORAGE.

Install

(Setup GOPATH first; something like export GOPATH=$HOME/go)

go get github.com/stbuehler/go-acme-client/acme-client

Usage

For now the binary will put persistent data into storage.sqlite3 in the current working directory, so always run it from the same working directory.

Create registration ("account")

$GOPATH/bin/acme-client register

The password is used for local encryption of your private key (which is used to sign your requests) and other data.

Claim one or more domain names:

$GOPATH/bin/acme-client authorize example.com

It will show various challenges and combinations. You need to satisfy at least on combination (i.e. all challenges part of it).

Select the challenge you want to respond to (simpleHttp involves serving a static file, dvsni setting up a "fake" vhost with a SSL certificate), and follow the instructions.

Create a certificate

$GOPATH/bin/acme-client certificate

It takes an optional private key, otherwise it will generate one (by default a 2048-bit RSA key).

It will ask interactively for the domain names you want the certificate to be valid for (the first one will also be used in the Common Name).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.