1{ 2 lib, 3 asn1crypto, 4 buildPythonPackage, 5 cryptography, 6 dnspython, 7 dsinternals, 8 fetchFromGitHub, 9 impacket, 10 ldap3, 11 pyasn1, 12 pycryptodome, 13 pyopenssl, 14 pythonOlder, 15 requests, 16 requests-ntlm, 17 unicrypto, 18 setuptools, 19}: 20 21buildPythonPackage rec { 22 pname = "certipy-ad"; 23 version = "4.8.2"; 24 pyproject = true; 25 26 disabled = pythonOlder "3.7"; 27 28 src = fetchFromGitHub { 29 owner = "ly4k"; 30 repo = "Certipy"; 31 tag = version; 32 hash = "sha256-Era5iNLJkZIRvN/p3BiD/eDiDQme24G65VSG97tuEOQ="; 33 }; 34 35 postPatch = '' 36 # pin does not apply because our ldap3 contains a patch to fix pyasn1 compability 37 substituteInPlace setup.py \ 38 --replace "pyasn1==0.4.8" "pyasn1" 39 ''; 40 41 nativeBuildInputs = [ setuptools ]; 42 43 propagatedBuildInputs = [ 44 asn1crypto 45 cryptography 46 dnspython 47 dsinternals 48 impacket 49 ldap3 50 pyasn1 51 pycryptodome 52 pyopenssl 53 requests 54 requests-ntlm 55 setuptools 56 unicrypto 57 ]; 58 59 # Project has no tests 60 doCheck = false; 61 62 pythonImportsCheck = [ "certipy" ]; 63 64 meta = with lib; { 65 description = "Library and CLI tool to enumerate and abuse misconfigurations in Active Directory Certificate Services"; 66 mainProgram = "certipy"; 67 homepage = "https://github.com/ly4k/Certipy"; 68 changelog = "https://github.com/ly4k/Certipy/releases/tag/${version}"; 69 license = with licenses; [ mit ]; 70 maintainers = with maintainers; [ fab ]; 71 }; 72}