git: 4ede5b61f28e - main - security/py-pnu-certwatch: new port
Date: Tue, 26 Mar 2024 11:02:52 UTC
The branch main has been updated by jadawin:
URL: https://cgit.FreeBSD.org/ports/commit/?id=4ede5b61f28e82a74af0fca197a75e2db2039ac9
commit 4ede5b61f28e82a74af0fca197a75e2db2039ac9
Author: Philippe Audeoud <jadawin@FreeBSD.org>
AuthorDate: 2024-03-26 10:21:37 +0000
Commit: Philippe Audeoud <jadawin@FreeBSD.org>
CommitDate: 2024-03-26 11:02:11 +0000
security/py-pnu-certwatch: new port
The certwatch utility monitors X509 certificates expiration dates by
processing one or more data files containing lists of hostnames with
optional port numbers.
It's mainly used to check the expiration date of HTTPS certificates
(which is the default target when the port number is not indicated),
but the tool is protocol-agnostic and can "talk" to any SNI-aware
(Server Name Information) SSL/TLS server (smtps, imaps, ldaps, etc.)
without making too much assumptions on the correctness of servers
certificates.
The certificates can be saved to a specified directory for further
analysis with other tools (such as OpenSSL).
The tool's results are presented as text tables.
The main one is the list of certificates successfully fetched, ordered
by expiration date. This list can be filtered to only show
certificates expired or expiring within the specified number of days.
The second table is the sorted list of hostnames / hostports where
certificates couldn't be fetched, with our best attempts to identify
the reason why.
Two additional tables can be generated in order to print the common
names and alternate names unmentioned in your input data files.
Finally, for user convenience, all these reports can be generated in a
single multi-tabs Excel workbook.
PR: 277970
Approved by: maintainer, bapt (mentor)
---
security/Makefile | 1 +
security/py-pnu-certwatch/Makefile | 27 +++++++++++++++++++++++++++
security/py-pnu-certwatch/distinfo | 3 +++
security/py-pnu-certwatch/pkg-descr | 29 +++++++++++++++++++++++++++++
4 files changed, 60 insertions(+)
diff --git a/security/Makefile b/security/Makefile
index 8a112586287d..1a519e82e787 100644
--- a/security/Makefile
+++ b/security/Makefile
@@ -983,6 +983,7 @@
SUBDIR += py-pgpdump
SUBDIR += py-pgpy
SUBDIR += py-plaso
+ SUBDIR += py-pnu-certwatch
SUBDIR += py-pnu-vuxml
SUBDIR += py-potr
SUBDIR += py-pwntools
diff --git a/security/py-pnu-certwatch/Makefile b/security/py-pnu-certwatch/Makefile
new file mode 100644
index 000000000000..874ccc716166
--- /dev/null
+++ b/security/py-pnu-certwatch/Makefile
@@ -0,0 +1,27 @@
+PORTNAME= pnu-certwatch
+DISTVERSION= 1.0.3
+CATEGORIES= security python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER= hubert.tournier@gmail.com
+COMMENT= Watch X509 certificates expiration dates
+WWW= https://github.com/HubTou/certwatch
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/License
+
+BUILD_DEPENDS= ${PY_SETUPTOOLS} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>0:devel/py-wheel@${PY_FLAVOR}
+
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pnu-libpnu>=1.3.0:devel/py-pnu-libpnu@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}openpyxl>0:textproc/py-openpyxl@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}prettytable>0:devel/py-prettytable@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}tqdm>0:misc/py-tqdm@${PY_FLAVOR}
+
+USES= python shebangfix
+USE_PYTHON= autoplist flavors pep517 cryptography
+
+SHEBANG_FILES= src/certwatch/*.py
+
+.include <bsd.port.mk>
diff --git a/security/py-pnu-certwatch/distinfo b/security/py-pnu-certwatch/distinfo
new file mode 100644
index 000000000000..5d81292223f7
--- /dev/null
+++ b/security/py-pnu-certwatch/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1711310583
+SHA256 (pnu-certwatch-1.0.3.tar.gz) = e736811765f567cb427035eb8449196638c1ea8ef7cb68755a58b2668b400f44
+SIZE (pnu-certwatch-1.0.3.tar.gz) = 22073
diff --git a/security/py-pnu-certwatch/pkg-descr b/security/py-pnu-certwatch/pkg-descr
new file mode 100644
index 000000000000..a09d4334c6ad
--- /dev/null
+++ b/security/py-pnu-certwatch/pkg-descr
@@ -0,0 +1,29 @@
+The certwatch utility monitors X509 certificates expiration dates by
+processing one or more data files containing lists of hostnames with
+optional port numbers.
+
+It's mainly used to check the expiration date of HTTPS certificates
+(which is the default target when the port number is not indicated),
+but the tool is protocol-agnostic and can "talk" to any SNI-aware
+(Server Name Information) SSL/TLS server (smtps, imaps, ldaps, etc.)
+without making too much assumptions on the correctness of servers
+certificates.
+
+The certificates can be saved to a specified directory for further
+analysis with other tools (such as OpenSSL).
+
+The tool's results are presented as text tables.
+
+The main one is the list of certificates successfully fetched, ordered
+by expiration date. This list can be filtered to only show
+certificates expired or expiring within the specified number of days.
+
+The second table is the sorted list of hostnames / hostports where
+certificates couldn't be fetched, with our best attempts to identify
+the reason why.
+
+Two additional tables can be generated in order to print the common
+names and alternate names unmentioned in your input data files.
+
+Finally, for user convenience, all these reports can be generated in a
+single multi-tabs Excel workbook.