{
    "content": [
        {
            "type": "text",
            "text": "# qssign(1) (man)\n\n**Summary:** qssign - an utility to sign and verify the integrity of log data.\n\n**Synopsis:** qssign -s|S <secret> [-e] [-v] [-u <name>] [-f <regex>] [-a 'sha1'|'sha256']\n\n## Flags\n\n| Flag | Long | Arg | Description |\n|------|------|-----|-------------|\n| -s | — | <secret> | Passphrase used to calculate signature. |\n| -S | — | <program> | Specifies a program which writes the passphrase to stdout. -e Writes start/end marker when starting/stopping data signin |\n| -u | — | <name> | Becomes another user, e.g. www-data. |\n| -f | — | <regex> | Filter pattern (case sensitive regular expression) for messages which do not need to be signed. -a 'sha1'|'sha256' Speci |\n\n## Examples\n\n- `Sign:`\n- `TransferLog  \"|/usr/bin/qssign  -s  password  -e  |/usr/bin/qsrotate  -o /var/log/apache/ac‐`\n- `cess.log\"`\n- `Verify:`\n- `cat access.log | qssign -s password -v`\n\n## See Also\n\n- qsdt(1)\n- qsexec(1)\n- qsfilter2(1)\n- qsgeo(1)\n- qsgrep(1)\n- qshead(1)\n- qslog(1)\n- qslogger(1)\n- qspng(1)\n- qsre(1)\n- qsrespeed(1)\n- qsrotate(1)\n- qstail(1)\n\n## Section Outline\n\n- **NAME** (2 lines)\n- **SYNOPSIS** (2 lines)\n- **DESCRIPTION** (3 lines)\n- **OPTIONS** (1 lines) — 4 subsections\n  - -s <secret> (2 lines)\n  - -S <program> (6 lines)\n  - -u <name> (2 lines)\n  - -f <regex> (6 lines)\n- **EXAMPLE** (11 lines)\n- **SEE ALSO** (3 lines)\n- **AUTHOR** (5 lines)\n\n## Full Content\n\n### NAME\n\nqssign - an utility to sign and verify the integrity of log data.\n\n### SYNOPSIS\n\nqssign -s|S <secret> [-e] [-v] [-u <name>] [-f <regex>] [-a 'sha1'|'sha256']\n\n### DESCRIPTION\n\nqssign is a log data integrity check tool. It reads log data from stdin (pipe) and writes the\ndata to stdout adding a sequence number and signatur to ever log line.\n\n### OPTIONS\n\n#### -s <secret>\n\nPassphrase used to calculate signature.\n\n#### -S <program>\n\nSpecifies a program which writes the passphrase to stdout.\n\n-e     Writes start/end marker when starting/stopping data signing.\n\n-v     Verification mode checking the integrity of signed data.\n\n#### -u <name>\n\nBecomes another user, e.g. www-data.\n\n#### -f <regex>\n\nFilter pattern (case sensitive regular expression) for messages which do not  need  to\nbe signed.\n\n-a 'sha1'|'sha256'\nSpecifes the algorithm to use. Default is sha1.\n\n### EXAMPLE\n\nSign:\n\nTransferLog  \"|/usr/bin/qssign  -s  password  -e  |/usr/bin/qsrotate  -o /var/log/apache/ac‐\ncess.log\"\n\n\nVerify:\n\ncat access.log | qssign -s password -v\n\n### SEE ALSO\n\nqsdt(1), qsexec(1), qsfilter2(1),  qsgeo(1),  qsgrep(1),  qshead(1),  qslog(1),  qslogger(1),\nqspng(1), qsre(1), qsrespeed(1), qsrotate(1), qstail(1)\n\n### AUTHOR\n\nPascal Buchbinder, http://mod-qos.sourceforge.net/\n\n\n\nmodqos utilities 11.63                       May 2019                                     QSSIGN(1)\n\n"
        }
    ],
    "structuredContent": {
        "command": "qssign",
        "section": "1",
        "mode": "man",
        "summary": "qssign - an utility to sign and verify the integrity of log data.",
        "synopsis": "qssign -s|S <secret> [-e] [-v] [-u <name>] [-f <regex>] [-a 'sha1'|'sha256']",
        "flags": [
            {
                "flag": "-s",
                "long": null,
                "arg": "<secret>",
                "description": "Passphrase used to calculate signature."
            },
            {
                "flag": "-S",
                "long": null,
                "arg": "<program>",
                "description": "Specifies a program which writes the passphrase to stdout. -e Writes start/end marker when starting/stopping data signing. -v Verification mode checking the integrity of signed data."
            },
            {
                "flag": "-u",
                "long": null,
                "arg": "<name>",
                "description": "Becomes another user, e.g. www-data."
            },
            {
                "flag": "-f",
                "long": null,
                "arg": "<regex>",
                "description": "Filter pattern (case sensitive regular expression) for messages which do not need to be signed. -a 'sha1'|'sha256' Specifes the algorithm to use. Default is sha1."
            }
        ],
        "examples": [
            "Sign:",
            "TransferLog  \"|/usr/bin/qssign  -s  password  -e  |/usr/bin/qsrotate  -o /var/log/apache/ac‐",
            "cess.log\"",
            "Verify:",
            "cat access.log | qssign -s password -v"
        ],
        "see_also": [
            {
                "name": "qsdt",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/qsdt/1/json"
            },
            {
                "name": "qsexec",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/qsexec/1/json"
            },
            {
                "name": "qsfilter2",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/qsfilter2/1/json"
            },
            {
                "name": "qsgeo",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/qsgeo/1/json"
            },
            {
                "name": "qsgrep",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/qsgrep/1/json"
            },
            {
                "name": "qshead",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/qshead/1/json"
            },
            {
                "name": "qslog",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/qslog/1/json"
            },
            {
                "name": "qslogger",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/qslogger/1/json"
            },
            {
                "name": "qspng",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/qspng/1/json"
            },
            {
                "name": "qsre",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/qsre/1/json"
            },
            {
                "name": "qsrespeed",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/qsrespeed/1/json"
            },
            {
                "name": "qsrotate",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/qsrotate/1/json"
            },
            {
                "name": "qstail",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/qstail/1/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "OPTIONS",
                "lines": 1,
                "subsections": [
                    {
                        "name": "-s <secret>",
                        "lines": 2,
                        "flag": "-s",
                        "arg": "<secret>"
                    },
                    {
                        "name": "-S <program>",
                        "lines": 6,
                        "flag": "-S",
                        "arg": "<program>"
                    },
                    {
                        "name": "-u <name>",
                        "lines": 2,
                        "flag": "-u",
                        "arg": "<name>"
                    },
                    {
                        "name": "-f <regex>",
                        "lines": 6,
                        "flag": "-f",
                        "arg": "<regex>"
                    }
                ]
            },
            {
                "name": "EXAMPLE",
                "lines": 11,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "AUTHOR",
                "lines": 5,
                "subsections": []
            }
        ]
    }
}