OpenBSD Journal

OpenBSD relayd(8) adds ECDSA support with CA engine code from smtpd(8)

Contributed by Peter N. M. Hansteen on from the relay my ECDSA to me dept.

Up until quite recently, relayd(8) did not actually support ECDSA keys and certificates, as described in the Relayd doesn't like ecdsa thread on the tech@ mailing list.

The problem is now solved.

In this commit by Rafael Sadowski (rsadowski@), code that originated in smtpd(8) adds the previously lacking support.

The commit message reads,

List:       openbsd-cvs
Subject:    CVS: cvs.openbsd.org: src
From:       Rafael Sadowski <rsadowski () cvs ! openbsd ! org>>
Date:       2026-07-20 17:41:07
Message-ID: 17bfa7826d307ce0 () cvs ! openbsd ! org

CVSROOT:	/cvs
Module name:	src
Changes by:	rsadowski@cvs.openbsd.org	2026/07/20 11:41:07

Modified files:
	usr.sbin/relayd: ca.c relay.c relayd.h ssl.c 
Log message:
relayd: add ECDSA support to the CA privsep engine

Add an EC_KEY_METHOD that forwards the sign operation to the CA process,
clone the existing RSA engine. ssl_load_pkey() now handles both RSA
and EC keys and attaches the cert hash accordingly.

The engine and signing code was migrated from smtpd from (op@) with
some tweaks by me.

OK op@

This means those odd errors should now be history, at least for those of us running -current or fresh snapshots.

As always, please do test if you are able. The developers will appreciate reports on any anomalies.


Credits

Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original deadly.org with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]