}
// Check for public keys.
- // TODO: use RSAPublicKeyFile and Ed25519PublicKeyFile variables if present.
+ // TODO: use RSAPublicKeyFile variable if present.
snprintf(fname, sizeof fname, "%s/hosts/%s", confbase, name);
if(access(fname, R_OK))
fprintf(stderr, "WARNING: A public RSA key was found but no private key is known.\n");
}
#endif
- //
- // TODO: this should read the Ed25519PublicKey config variable instead.
+
ecdsa_t *ecdsa_pub = NULL;
f = fopen(fname, "r");
- if(f)
- ecdsa_pub = ecdsa_read_pem_public_key(f);
+ if(f) {
+ ecdsa_pub = get_pubkey(f);
+ if(!f) {
+ rewind(f);
+ ecdsa_pub = ecdsa_read_pem_public_key(f);
+ }
+ }
fclose(f);
if(ecdsa_priv) {