When asked by GnuPG during the generation of the key, put the e-mail
address from which you will send control articles in the key ID (the
real name field)
Now I could go ahead and install the necessary compatible libraries for PGP, but there's also the option of moving to a more modern approach and the use of
GnuPG:
$ rpm -q gnupg2
gnupg2-2.4.4-1.fc40.x86_64
Before I can use GPG in the Usenet-hierarchy 'nl' I need to register its key and this is probably the first thing that I should do. Where do I do that? Before registering I also need to generate the new key. How do I do that?
A step-by-step-approach works best for me as I don't want to make any fatal mistakes.
The next thing to do is probably configuring a new 'signcontrol' (Perl) and getting that new 'signcontrol' to work. Julien already pointed me to https://ftp.isc.org/pub/pgpcontrol/signcontrol and there's much resemblance to my version from 1998.
After having generated the private and public keys, you should export
your PUBLIC key and make it available from the web site of your
hierarchy, and also announce it in news.admin.hierarchies.
# $use_or_add{'Organization'} = 'YOUR_ORGANIZATION';150c150
# set to match only hierarchies you will use it on.
I've added some small improvements in version 1.9 of 'signcontrol':
So, this is what I have now in my version of the code of 'signcontrol':
} elsif ($pgpstyle eq 'GPG') {
if ($pgphomedir) {
# we need a way to add some extra arguments
@command = ($pgp, qw/--detach-sign --armor --textmode -u/, $keyid,
qw/--debug-level advanced/,
qw/--homedir/, $pgphomedir,
qw/--force-v3-sigs/);
} else {
@command = ($pgp, qw/--detach-sign --armor --textmode -u/, $keyid,
qw/--force-v3-sigs --pgp2/);
}
} else {
| To solve the problem, you need to enable loopback pinentry mode. Add this to ~/.gnupg/gpg.conf:
|
| use-agent
| pinentry-mode loopback
|
| And add this to ~/.gnupg/gpg-agent.conf, creating the file if it doesn't already exist:
|
| allow-loopback-pinentry
|
| Then restart the agent with echo RELOADAGENT | gpg-connect-agent and you should be good to go!
X-Info: https://ftp.isc.org/pub/pgpcontrol/README.html
https://ftp.isc.org/pub/pgpcontrol/README
Did I do this correctly?
The URL-part isn't correct yet; this is what I have now in my control.ctl:
## NL (Netherlands)
# Contact: nl-admin@stack.nl
# URL: http://nl.news-admin.org/info/nladmin.html
# Admin group: nl.newsgroups
# Key fingerprint: 45 20 0B D5 A1 21 EA 7C EF B2 95 6C 25 75 4D 27
# *PGP* See comment at top of file.
newgroup:*:nl.*:drop
rmgroup:*:nl.*:drop
checkgroups:nl-admin@stack.nl:nl.*:verify-nl.newsgroups newgroup:nl-admin@stack.nl:nl.*:verify-nl.newsgroups rmgroup:nl-admin@stack.nl:nl.*:verify-nl.newsgroups
BTW, I'm running C News. :-)
Hopefully I've done all this correctly.The technical part is now done.
At some point in time (2011) we decided to create e-mailaddresses at stack.nl >instead of nic.surfnet.nl, to administrate the nl-hierarchy, but they seem to >be revoked ("<nl-admin@stack.nl>: Recipient address rejected: User unknown").
Looking at the flags used by signcontrol.py, it also has:
--emit-version --no-comments --no-escape-from-lines --no-throw-keyids
You may wish to also use them. At least the first one (--emit-version) >solves one of your subsequent question.
| To solve the problem, you need to enable loopback pinentry mode.
Indeed, this is a necessary setup if you run the script non
interactively. Maybe you'll also need:
--no-tty --passphrase "xxx"
Matija Nalis, the former administrator of hr.* (Croatia), once asked for >these flags. I don't know whether they are still required by current
GnuPG versions.
X-Info: https://ftp.isc.org/pub/pgpcontrol/README.html
https://ftp.isc.org/pub/pgpcontrol/README
You may want to keep one, and replace the other one with the URL of the >website of the hierarchy.
The URL-part isn't correct yet; this is what I have now in my control.ctl: >>
## NL (Netherlands)
# Contact: nl-admin@stack.nl
# URL: http://nl.news-admin.org/info/nladmin.html
# Admin group: nl.newsgroups
# Key fingerprint: 45 20 0B D5 A1 21 EA 7C EF B2 95 6C 25 75 4D 27
# *PGP* See comment at top of file.
newgroup:*:nl.*:drop
rmgroup:*:nl.*:drop
checkgroups:nl-admin@stack.nl:nl.*:verify-nl.newsgroups
newgroup:nl-admin@stack.nl:nl.*:verify-nl.newsgroups
rmgroup:nl-admin@stack.nl:nl.*:verify-nl.newsgroups
The official control.ctl entry will then need being updated with these
new information (stack.nl instead of nic.surfnet.nl).
Also, the new key fingerprint is:
66FB E84C 80E3 72D4 547F E921 D2F2 595D DA5A C504
BTW, I'm running C News. :-)
For C News, from what I heard, it uses a file named controlperm. Does
it also handle the control.ctl syntax? Do you confirm a valid syntax
for controlperm would now be:
nl any n nq
nl any r nq
nl nl-admin@stack.nl c pv nl.newsgroups
nl nl-admin@stack.nl n pv nl.newsgroups
nl nl-admin@stack.nl r pv nl.newsgroups
For C News, from what I heard, it uses a file named controlperm.
Do you confirm a valid syntax for controlperm would now be:
nl nl-admin@stack.nl c pv nl.newsgroups
nl nl-admin@stack.nl n pv nl.newsgroups
nl nl-admin@stack.nl r pv nl.newsgroups
I have only one line in controlperm:
nl nl-admin@stack.nl nrc p nl.newsgroups
Regarding this,
this is what I found in /var/news/bin/ctl/{checkgroups,{new,rm}group}:
# subject to $NEWSCTL/controlperm: four fields per line, first
# a newsgroup pattern, second an author name (or "any"), third a set of
# operations ("n" newgroup, "r" rmgroup, "c" checkgroups), and fourth a set of
# flags ("p" do it iff poster's identity is pgpverified,
# "y" do it, "n" don't, "q" don't report at all, "v" include
# entire control message in report) (default "yv"); the "p" and "n" flags may # be followed by the ID of the person permitted to pgpverify;
# the pgpverify program (not supplied) is presumed to be in $NEWSBIN
In the meantime, I've downloaded the latest version of pgpverify (1.30) from https://ftp.isc.org/pub/pgpcontrol/pgpverify, but the version that goes with my operating system (Fedora 40), /usr/libexec/news/pgpverify from INN-2.7.1, says it is version 1.31. So what is going on here?
They are dated:
# Version 1.30, 2018-01-21
# Version 1.31, 2022-06-12
# Changes from 1.30 -> 1.31
# -- Add a $gpg_has_allow_weak_digest_algos_flag variable to specify whether # gpg supports the --allow-weak-digest-algos flag. This variable will
# be overriden by INN::Config, if used. GnuPG 1.4.20 and 2.0.23 introduced
# this flag, necessary to verify the signatures of old PGP keys still in
# use for some hierarchies.
# -- Using at least GnuPG 1.4.20 or 2.1.0 is no longer required; this version # of pgpverify will still work with previous versions of GnuPG. However, # only GnuPG 1.x and 2.0.x will be able to validate signatures made with
# old PGP keys.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 546 |
Nodes: | 16 (2 / 14) |
Uptime: | 18:58:38 |
Calls: | 10,389 |
Files: | 14,061 |
Messages: | 6,416,958 |