location levels.
dh P G
- Assigns a Diffie--Hellman closure to the `dh' key,
- constructed as `diffie-hellman(P, G)'. Acceptable at all
- levels; required at site level.
+ dh GROUP-NAME
+ Assigns a Diffie--Hellman closure to the `dh' key. If
+ MODULUS and GENERATOR are given, the closure is
+ constructed as `diffie-hellman(P, G)'. If a GROUP-NAME
+ is given, it must be one of `x25519' or `x448', and the
+ like-named pre-existing DH closure is used.
+
+ Acceptable at all levels; required at site level.
hash HASH-NAME
Assigns the HASH-NAME to the `hash' key. The HASH-NAME
def __str__(self):
return ",".join(map((lambda n: '"%s"'%n), self.set.networks()))
-class dhgroup (basetype):
+class trad_dhgroup (basetype):
"A Diffie-Hellman group"
def __init__(self,w):
self.mod=w[1].bignum_16('dh','dh mod')
self.gen=w[2].bignum_16('dh','dh gen')
def __str__(self):
return 'diffie-hellman("%s","%s")'%(self.mod,self.gen)
+def dhgroup(w):
+ if w[1] in ('x25519', 'x448'): return w[1]
+ else: return trad_dhgroup(w)
class hash (basetype):
"A choice of hash function"