Code Monkey home page Code Monkey logo

openssl-osx-ca's Introduction

osx-ca-certs (previously openssl-osx-ca (and libressl-osx-ca))

A simple tool and script intended to be run periodically by launchd(8) to sync an openssl style CA pem with the certificates found in the OSX Keychain(s).

The original name is now a misnomer, as the software will manage certificate bundles for both openssl and libressl installed under Homebrew.

The Makefile contains a target called osx-ca-certs that acts a lot like security export -t certs -p, except that it does not dump certificates that are marked as untrusted as the latter does.

The keychains exported to the CA bundle by default are:

  • System.keychain
  • SystemRootCertificates.keychain
  • login.keychain (if run as a user)

The installed CA pem file will be made available through the default X.509 store path, commonly /usr/local/etc/openssl/cert.pem.

Installation

  • To install via homebrew:

       brew tap raggi/ale
       brew install openssl-osx-ca
       brew services start openssl-osx-ca
  • To install standalone:

       make install
  • To set the frequency, set the value of FREQUENCY when installing, defaults to 3600, one hour. The value of FREQUENCY must be a value in seconds.

       make install FREQUENCY=3600
  • Other variables from the Makefile can be overridden, take a look at the head of the Makefile for more information.

Intended use cases

  • Ruby 2.0.0+
  • LibreSSL users
  • OpenSSL users
  • Other brew / manually installed things that link a non-Apple TLS implementations

Known limitations & Notes

  • Only supports El Capitan and above.
  • Syncs are by default perfomed once per hour.
  • Syncs may not be sufficiently atomic. There is a small possiblity of race conditions that could cause openssl programs to fail. The sync time is very very short, so in practice this is unlikely.
  • OSX CA bundles are not always particularly up to date, for example in August 2016, they contained 17 expired certificates and several that Mozilla have chosen to remove, either for technical or audit reasons.
  • Installation as root is generally not required, and may require some extra changes to the Makefile.

openssl-osx-ca's People

Contributors

ebpitts avatar raggi avatar stouset avatar

Watchers

 avatar  avatar

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.