/ story-8-Containers.org
story-8-Containers.org
1 #+TITLE: Story 8 - Containers 2 #+OPTIONS: author:nil date:nil 3 4 A containers is a special kind of object, which contains other objects, 5 accessible by tag, thus essentially becoming a tag:object store. 6 7 Tags are free form (they may not even be a humanly readable string), much 8 depending on the class of container. 9 10 Plugins are usually not expected to have to deal with containers for their 11 normal work. Simple data objects should be enough. 12 13 * Functions 14 15 In addition to the [[file:story-8-Objects-and-Operations.org::*Functions][base object functions]], data objects should all commonly 16 support all or a sensible subset of the following functionality: 17 18 - *Get Object*: Given a suitable tag, this should return the corresponding 19 object. 20 - *Set Object*: Given a suitable tag and an input object, they are stored 21 together. 22 23 * Classes of containers 24 25 These are a few relevant ideas, to be specified more precisely in future 26 stories. 27 28 - PKCS#12 29 30 A PKCS#12 object could be represented as a container with the different 31 things as objects (which may also be containers). 32 33 - PKCS#8 34 35 A PKCS#8 structure could be represented as a container with a private key 36 object, an AlgorithmIndentifier object, etc. 37 38 - Higher level symmetric or asymmetric keys 39 40 A higher level symmetric or asymmetric key could be a container, with an 41 original key object for an originating plugin, and cached copies, one for 42 each plugin that needs a copy that's adapted for it. 43