Authentication types

At various places in the configuration file, for example the Oper block, Vhost block, Link block and Allow block you can authenticate clients by password or other means. You can specify the password as plaintext, but you can also use other authentication types, such as a hashed password or TLS certificate fingerprint.

Available auth-types
The following auth-types are available:

The auth-type argon2 is the best one if you want to authenticate using a password. It's slow to crack.

The types cert and certfp require a bit more work and expertise, as the user must generate their own SSL/TLS Certificate and then use it to connect to the server via SSL/TLS. We suggest to use this auth-type for /OPER (in the Oper block), see the 2nd example below. Finally the type spkifp is usually only used for linking servers.

Example 1: argon2 password in vhost block
Say, you want to use the password test and want to use argon2 hashed passwords (the best password hashing method available).

/MKPASSWD argon2 test or on the *NIX command line run: irc@system:~/unrealircd$ ./unrealircd mkpasswd Enter password to hash: Encrypted password is: $argon2id$v=19$m=8192,t=3,p=2$hDpgvcBOUVAJMQcJITTLnQ$fL5lg/3tZ0VgTXn61EQ6Rnxhl5j+MvESBBGpg1mZqWM or if you are on Windows and are running UnrealIRCd 6.0.2 or later: C:\Program Files\UnrealIRCd 6\bin> unrealircdctl mkpasswd test Encrypted password is: $argon2id$v=19$m=8192,t=3,p=2$ZMPmFokpauGUQmz8xhxY+A$KARb6fJb0b9QOi95Ts1xAGgfmY5STkwlGiheNG1JvwU vhost { vhost I.love.Tux; mask *@*; login Tux; password "$argon2id$v=19$m=8192,t=3,p=2$hDpgvcBOUVAJMQcJITTLnQ$fL5lg/3tZ0VgTXn61EQ6Rnxhl5j+MvESBBGpg1mZqWM"; };
 * As IRCOp run:
 * You should get back a string that starts with $ followed by a lot of characters.
 * Put this string in your vhost block (or any other block) like this:


 * /REHASH your IRCd server configuration (Execute /REHASH as an IRCop on IRC)
 * Try to use the new vhost by typing /VHOST Tux test

Example 2: Oper by SSL/TLS Client certificates
cert and certfp are exceptional auth-types which can be used to authenticate SSL/TLS users by their client certificate. With these authentication methods you can be sure the user is using SSL/TLS and is using the specified client certificate. It's very secure but is a slightly advanced feature.

See Certificate fingerprint on how to get your client certificate fingerprint. Then, put your certfp in the  like this: oper test { password "e74d46f19ff468f5e8e349cc285df96585ba4f16b64902e334e6e76afe76a798" { certfp; }; [..] };
 * Rehash your server
 * Now oper up through /OPER test. When you try this, make sure that you are not already an IRCOp.
 * You should now have IRC Operator rights.
 * Congratulations, you are now using the most secure authentication method available in UnrealIRCd!

Example 3: SSL/TLS Client certificates when linking servers
When you are linking servers via the Link block we highly suggest you follow the Tutorial: Linking servers as it uses the SSL/TLS client certificate fingerprint authentication type.