📄 readme
字号:
The STORE type==============A STORE, as defined in this code section, is really a rather simplething which stores objects and per-object associations to a numberof attributes. What attributes are supported entirely depends onthe particular implementation of a STORE. It has some support forgeneration of certain objects (for example, keys and CRLs).Supported object types----------------------For now, the objects that are supported are the following:X.509 certificateX.509 CRLprivate keypublic keynumberarbitrary (application) dataThe intention is that a STORE should be able to store everythingneeded by an application that wants a cert/key store, as well asthe data a CA might need to store (this includes the serial numbercounter, which explains the support for numbers).Supported attribute types-------------------------For now, the following attributes are supported:Friendly Name - the value is a normal C stringKey ID - the value is a 160 bit SHA1 hashIssuer Key ID - the value is a 160 bit SHA1 hashSubject Key ID - the value is a 160 bit SHA1 hashIssuer/Serial Hash - the value is a 160 bit SHA1 hashIssuer - the value is a X509_NAMESerial - the value is a BIGNUMSubject - the value is a X509_NAMECertificate Hash - the value is a 160 bit SHA1 hashEmail - the value is a normal C stringFilename - the value is a normal C stringIt is expected that these attributes should be enough to supportthe need from most, if not all, current applications. Applicationsthat need to do certificate verification would typically use SubjectKey ID, Issuer/Serial Hash or Subject to look up issuer certificates.S/MIME applications would typically use Email to look up recipientand signer certificates.There's added support for combined sets of attributes to search for,with the special OR attribute.Supported basic functionality-----------------------------The functions that are supported through the STORE type are these:generate_object - for example to generate keys and CRLsget_object - to look up one object NOTE: this function is really rather redundant and probably of lesser usage than the list functionsstore_object - store an object and the attributes associated with itmodify_object - modify the attributes associated with a specific objectrevoke_object - revoke an object NOTE: this only marks an object as invalid, it doesn't remove the object from the databasedelete_object - remove an object from the databaselist_object - list objects associated with a given set of attributes NOTE: this is really four functions: list_start, list_next, list_end and list_endpupdate_store - update the internal data of the storelock_store - lock the storeunlock_store - unlock the storeThe list functions need some extra explanation: list_start isused to set up a lookup. That's where the attributes to use inthe search are set up. It returns a search context. list_nextreturns the next object searched for. list_end closes the search.list_endp is used to check if we have reached the end.A few words on the store functions as well: update_store istypically used by a CA application to update the internalstructure of a database. This may for example involve automaticremoval of expired certificates. lock_store and unlock_storeare used for locking a store to allow exclusive writes.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -