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