1{
2 lib,
3 argcomplete,
4 asn1crypto,
5 beautifulsoup4,
6 buildPythonPackage,
7 cryptography,
8 dnspython,
9 dsinternals,
10 fetchFromGitHub,
11 httpx,
12 impacket,
13 ldap3,
14 pyasn1,
15 pycryptodome,
16 pyopenssl,
17 requests,
18 setuptools,
19 unicrypto,
20}:
21
22buildPythonPackage rec {
23 pname = "certipy-ad";
24 version = "5.0.3";
25 pyproject = true;
26
27 src = fetchFromGitHub {
28 owner = "ly4k";
29 repo = "Certipy";
30 tag = version;
31 hash = "sha256-rS2d7jYHzmb2x6wKJizKrkna2xKrTAGwpSANnmbU16I=";
32 };
33
34 pythonRelaxDeps = [
35 "argcomplete"
36 "cryptography"
37 "pycryptodome"
38 "ldap3"
39 "pyopenssl"
40 ];
41
42 pythonRemoveDeps = [ "bs4" ];
43
44 build-system = [ setuptools ];
45
46 dependencies = [
47 argcomplete
48 asn1crypto
49 beautifulsoup4
50 cryptography
51 dnspython
52 dsinternals
53 httpx
54 impacket
55 ldap3
56 pyasn1
57 pycryptodome
58 pyopenssl
59 requests
60 setuptools
61 unicrypto
62 ];
63
64 # Project has no tests
65 doCheck = false;
66
67 pythonImportsCheck = [ "certipy" ];
68
69 meta = with lib; {
70 description = "Library and CLI tool to enumerate and abuse misconfigurations in Active Directory Certificate Services";
71 homepage = "https://github.com/ly4k/Certipy";
72 changelog = "https://github.com/ly4k/Certipy/releases/tag/${src.tag}";
73 license = licenses.mit;
74 maintainers = with maintainers; [ fab ];
75 mainProgram = "certipy";
76 };
77}