8 stdenv.mkDerivation rec {
10 version = "unstable-2015-01-29";
12 src = fetchFromGitHub {
15 rev = "7ecdbac79156c8864fa3ff8d61e9f1eb264e56c2";
16 sha256 = "sha256-+7TrJACdm/i/pc0dsp8edEIOjx8cip+x0Qc2gONajSE=";
19 nativeBuildInputs = [ autoreconfHook ];
21 buildInputs = [ openssl ];
24 description = "Tools for random password generation";
26 APG (Automated Password Generator) is the tool set for random
31 Generates some random words of required type and prints them
36 APG server: When client's request is arrived generates some
37 random words of predefined type and send them to client over
38 the network (according to RFC0972).
40 APG client: Sends the password generation request to the APG
41 server, wait for generated Passwords arrival and then prints
42 them to the standard output.
46 * Built-in ANSI X9.17 RNG (Random Number Generator) (CAST/SHA1)
47 * Built-in password quality checking system (it has support for
48 Bloom filter for faster access)
49 * Two Password Generation Algorithms:
50 1. Pronounceable Password Generation Algorithm (according to
52 2. Random Character Password Generation Algorithm with 35
53 configurable modes of operation
54 * Configurable password length parameters
55 * Configurable amount of generated passwords
56 * Ability to initialize RNG with user string
57 * Support for /dev/random
58 * Ability to crypt() generated passwords and print them as
60 * Special parameters to use APG in script
61 * Ability to log password generation requests for network version
62 * Ability to control APG service access using tcpd
63 * Ability to use password generation service from any type of box
64 (Mac, WinXX, etc.) that connected to network
65 * Ability to enforce remote users to use only allowed type of
68 homepage = "https://github.com/wilx/apg";
69 license = lib.licenses.bsd3;
70 maintainers = with lib.maintainers; [ astsmtl ];
71 platforms = lib.platforms.unix;