store:
I just got the news that store: was added as an indicator of things supported through the OSSL_STORE API. The intent, however, was that all interesting objects would be accessible through OSSL_STORE through URIs (file: assu,ed when no scheme is given).
I can understand that engine:
was there first and kind of made you think of schemes as an indicator of what API to use. When implementing OSSL_STORE, I saw it as a replacement for all other access forms, including the old ENGINE API. However, I also thought that if someone really needs it, it shouldn't be too hard to implement a engine:
loader for OSSL_STORE, and voilà, problem solved, no need for any other indicator.
The store:
indicator forces a weird kind of URI syntax. For example, think of getting a file like this: file:///home/blargh/foo.pem
, the store:
indicator then forces people to write store:file:///home/blargh/foo.pem
, which is just plain weird, at least with the view that everything is a URI (yes, even /home/blargh/foo.pem
, then the file:
scheme is assumed by OSSL_STORE).
You could easily just add a engine:
loader (there currently is one in this OpenSSL branch, apps/app_engine_loader.c
, which I plan to adapt to support your engine:
URI scheme), then you drop store:
, or make it optional.