import ports/security/py-acme, ok landry@

note, this is still devel code, but useful to have in tree

ACME (Automated Certificate Management Environment) is a protocol for
automating the management of domain-validation certificates, based on a
simple JSON-over-HTTPS interface.

The spec (https://github.com/letsencrypt/acme-spec) is a work in progress
but it is hoped to eventually move it to the IETF process to become an RFC.

This packages provides a Python implementation of the protocol.
This commit is contained in:
sthen 2015-11-04 09:53:09 +00:00
parent d887c26a94
commit b95b665c6b
4 changed files with 159 additions and 0 deletions

43
security/py-acme/Makefile Normal file
View File

@ -0,0 +1,43 @@
# $OpenBSD: Makefile,v 1.1.1.1 2015/11/04 09:53:09 sthen Exp $
COMMENT= ACME protocol implementation
MODPY_EGG_VERSION= 0.0.0.dev20151030
DISTNAME= acme-${MODPY_EGG_VERSION}
PKGNAME= ${MODPY_PY_PREFIX}${DISTNAME:S/.dev/pre/}
CATEGORIES= security
MAINTAINER= Stuart Henderson <sthen@openbsd.org>
# Apache 2
PERMIT_PACKAGE_CDROM= Yes
FLAVORS= python3
FLAVOR?=
MODULES= lang/python
MODPY_SETUPTOOLS= Yes
MODPY_PI= Yes
RUN_DEPENDS= devel/py-asn1${MODPY_FLAVOR} \
devel/py-six${MODPY_FLAVOR} \
devel/py-tz${MODPY_FLAVOR} \
net/py-idna${MODPY_FLAVOR} \
security/py-cryptography${MODPY_FLAVOR}>=0.8 \
security/py-openssl${MODPY_FLAVOR}>=0.15 \
textproc/py-pyRFC3339${MODPY_FLAVOR} \
www/py-ndg-httpsclient${MODPY_FLAVOR} \
www/py-requests${MODPY_FLAVOR} \
www/py-werkzeug${MODPY_FLAVOR}
BUILD_DEPENDS= ${RUN_DEPENDS}
TEST_DEPENDS= devel/py-nose${MODPY_FLAVOR}
.if ! ${FLAVOR:Mpython3}
TEST_DEPENDS+= devel/py-mock
.endif
post-install:
mv ${PREFIX}/bin/jws ${PREFIX}/bin/jws${MODPY_BIN_SUFFIX}
.include <bsd.port.mk>

View File

@ -0,0 +1,2 @@
SHA256 (acme-0.0.0.dev20151030.tar.gz) = A8TvUxniU83mFBmzZIjFKxY7wyCf7DNXcpROZASGCq4=
SIZE (acme-0.0.0.dev20151030.tar.gz) = 82035

View File

@ -0,0 +1,8 @@
ACME (Automated Certificate Management Environment) is a protocol for
automating the management of domain-validation certificates, based on a
simple JSON-over-HTTPS interface.
The spec (https://github.com/letsencrypt/acme-spec) is a work in progress
but it is hoped to eventually move it to the IETF process to become an RFC.
This packages provides a Python implementation of the protocol.

106
security/py-acme/pkg/PLIST Normal file
View File

@ -0,0 +1,106 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2015/11/04 09:53:09 sthen Exp $
bin/jws${MODPY_BIN_SUFFIX}
lib/python${MODPY_VERSION}/site-packages/acme/
lib/python${MODPY_VERSION}/site-packages/acme-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/
lib/python${MODPY_VERSION}/site-packages/acme-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/PKG-INFO
lib/python${MODPY_VERSION}/site-packages/acme-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/SOURCES.txt
lib/python${MODPY_VERSION}/site-packages/acme-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/dependency_links.txt
lib/python${MODPY_VERSION}/site-packages/acme-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/entry_points.txt
lib/python${MODPY_VERSION}/site-packages/acme-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/requires.txt
lib/python${MODPY_VERSION}/site-packages/acme-${MODPY_EGG_VERSION}-py${MODPY_VERSION}.egg-info/top_level.txt
lib/python${MODPY_VERSION}/site-packages/acme/__init__.py
${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}challenges.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}challenges_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}client.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}client_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}crypto_util.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}crypto_util_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}errors.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}errors_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}fields.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}fields_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}jws.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}jws_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}messages.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}messages_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}other.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}other_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}standalone.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}standalone_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}test_util.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}util.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/${MODPY_PYCACHE}util_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/challenges.py
lib/python${MODPY_VERSION}/site-packages/acme/challenges_test.py
lib/python${MODPY_VERSION}/site-packages/acme/client.py
lib/python${MODPY_VERSION}/site-packages/acme/client_test.py
lib/python${MODPY_VERSION}/site-packages/acme/crypto_util.py
lib/python${MODPY_VERSION}/site-packages/acme/crypto_util_test.py
lib/python${MODPY_VERSION}/site-packages/acme/errors.py
lib/python${MODPY_VERSION}/site-packages/acme/errors_test.py
lib/python${MODPY_VERSION}/site-packages/acme/fields.py
lib/python${MODPY_VERSION}/site-packages/acme/fields_test.py
lib/python${MODPY_VERSION}/site-packages/acme/jose/
lib/python${MODPY_VERSION}/site-packages/acme/jose/__init__.py
${MODPY_COMMENT}lib/python${MODPY_VERSION}/site-packages/acme/jose/${MODPY_PYCACHE}/
lib/python${MODPY_VERSION}/site-packages/acme/jose/${MODPY_PYCACHE}__init__.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/jose/${MODPY_PYCACHE}b64.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/jose/${MODPY_PYCACHE}b64_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/jose/${MODPY_PYCACHE}errors.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/jose/${MODPY_PYCACHE}errors_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/jose/${MODPY_PYCACHE}interfaces.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/jose/${MODPY_PYCACHE}interfaces_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/jose/${MODPY_PYCACHE}json_util.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/jose/${MODPY_PYCACHE}json_util_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/jose/${MODPY_PYCACHE}jwa.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/jose/${MODPY_PYCACHE}jwa_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/jose/${MODPY_PYCACHE}jwk.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/jose/${MODPY_PYCACHE}jwk_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/jose/${MODPY_PYCACHE}jws.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/jose/${MODPY_PYCACHE}jws_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/jose/${MODPY_PYCACHE}util.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/jose/${MODPY_PYCACHE}util_test.${MODPY_PYC_MAGIC_TAG}pyc
lib/python${MODPY_VERSION}/site-packages/acme/jose/b64.py
lib/python${MODPY_VERSION}/site-packages/acme/jose/b64_test.py
lib/python${MODPY_VERSION}/site-packages/acme/jose/errors.py
lib/python${MODPY_VERSION}/site-packages/acme/jose/errors_test.py
lib/python${MODPY_VERSION}/site-packages/acme/jose/interfaces.py
lib/python${MODPY_VERSION}/site-packages/acme/jose/interfaces_test.py
lib/python${MODPY_VERSION}/site-packages/acme/jose/json_util.py
lib/python${MODPY_VERSION}/site-packages/acme/jose/json_util_test.py
lib/python${MODPY_VERSION}/site-packages/acme/jose/jwa.py
lib/python${MODPY_VERSION}/site-packages/acme/jose/jwa_test.py
lib/python${MODPY_VERSION}/site-packages/acme/jose/jwk.py
lib/python${MODPY_VERSION}/site-packages/acme/jose/jwk_test.py
lib/python${MODPY_VERSION}/site-packages/acme/jose/jws.py
lib/python${MODPY_VERSION}/site-packages/acme/jose/jws_test.py
lib/python${MODPY_VERSION}/site-packages/acme/jose/util.py
lib/python${MODPY_VERSION}/site-packages/acme/jose/util_test.py
lib/python${MODPY_VERSION}/site-packages/acme/jws.py
lib/python${MODPY_VERSION}/site-packages/acme/jws_test.py
lib/python${MODPY_VERSION}/site-packages/acme/messages.py
lib/python${MODPY_VERSION}/site-packages/acme/messages_test.py
lib/python${MODPY_VERSION}/site-packages/acme/other.py
lib/python${MODPY_VERSION}/site-packages/acme/other_test.py
lib/python${MODPY_VERSION}/site-packages/acme/standalone.py
lib/python${MODPY_VERSION}/site-packages/acme/standalone_test.py
lib/python${MODPY_VERSION}/site-packages/acme/test_util.py
lib/python${MODPY_VERSION}/site-packages/acme/testdata/
lib/python${MODPY_VERSION}/site-packages/acme/testdata/README
lib/python${MODPY_VERSION}/site-packages/acme/testdata/cert-san.pem
lib/python${MODPY_VERSION}/site-packages/acme/testdata/cert.der
lib/python${MODPY_VERSION}/site-packages/acme/testdata/cert.pem
lib/python${MODPY_VERSION}/site-packages/acme/testdata/csr-6sans.pem
lib/python${MODPY_VERSION}/site-packages/acme/testdata/csr-nosans.pem
lib/python${MODPY_VERSION}/site-packages/acme/testdata/csr-san.pem
lib/python${MODPY_VERSION}/site-packages/acme/testdata/csr.der
lib/python${MODPY_VERSION}/site-packages/acme/testdata/csr.pem
lib/python${MODPY_VERSION}/site-packages/acme/testdata/dsa512_key.pem
lib/python${MODPY_VERSION}/site-packages/acme/testdata/rsa1024_key.pem
lib/python${MODPY_VERSION}/site-packages/acme/testdata/rsa2048_key.pem
lib/python${MODPY_VERSION}/site-packages/acme/testdata/rsa256_key.pem
lib/python${MODPY_VERSION}/site-packages/acme/testdata/rsa512_key.pem
lib/python${MODPY_VERSION}/site-packages/acme/util.py
lib/python${MODPY_VERSION}/site-packages/acme/util_test.py