I guess that is why we have this weird workaround:
port, server = Sockets.listenany(10000)
iob = connect(port)
sob = accept(server)
local cert_pem
try
write(iob, x509_certificate)
cert_pem = String(readavailable(sob))
finally
close(iob)
close(sob)
close(server)
end
instead of doing this
private_key_io = IOBuffer()
write(private_key_io, evp_pkey)
public_key_io = IOBuffer()
write(public_key_io, x509_certificate)