)]}'
{"doc/source/plugin/crypto.rst":[{"author":{"_account_id":7262,"name":"John Vrbanac","email":"john.vrbanac@linux.com","username":"john.vrbanac"},"change_message_id":"5ad2d190c4c80d6d160b0acfcb10c80144503577","unresolved":false,"context_lines":[{"line_number":15,"context_line":"Barbican is a PKCS11-based interface to SafeNet HSMs."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"The other secret storage mode is detailed in the"},{"line_number":18,"context_line":":ref:`plugin-secret-store-label` page. Note that cryptographic plugins are"},{"line_number":19,"context_line":"invoked from within the context of a \u0027secret store\u0027 plugin via an adapter"},{"line_number":20,"context_line":"class, further described in the :ref:`plugin-secret-store-crypto-adapter-label`"},{"line_number":21,"context_line":"section."}],"source_content_type":"text/x-rst","patch_set":1,"id":"9aa7fdbe_40b82ae5","line":18,"updated":"2014-10-23 21:16:22.000000000","message":"I might be better to use the :doc: tag instead\nhttp://sphinx-doc.org/markup/inline.html#role-doc","commit_id":"d2ea973e2c1077d3c3e643373c7343aa0ef1cf2a"},{"author":{"_account_id":7262,"name":"John Vrbanac","email":"john.vrbanac@linux.com","username":"john.vrbanac"},"change_message_id":"5ad2d190c4c80d6d160b0acfcb10c80144503577","unresolved":false,"context_lines":[{"line_number":17,"context_line":"The other secret storage mode is detailed in the"},{"line_number":18,"context_line":":ref:`plugin-secret-store-label` page. Note that cryptographic plugins are"},{"line_number":19,"context_line":"invoked from within the context of a \u0027secret store\u0027 plugin via an adapter"},{"line_number":20,"context_line":"class, further described in the :ref:`plugin-secret-store-crypto-adapter-label`"},{"line_number":21,"context_line":"section."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"``crypto`` Module"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9aa7fdbe_c0c33a55","line":20,"updated":"2014-10-23 21:16:22.000000000","message":"same as above","commit_id":"d2ea973e2c1077d3c3e643373c7343aa0ef1cf2a"},{"author":{"_account_id":7262,"name":"John Vrbanac","email":"john.vrbanac@linux.com","username":"john.vrbanac"},"change_message_id":"5ad2d190c4c80d6d160b0acfcb10c80144503577","unresolved":false,"context_lines":[{"line_number":64,"context_line":"The sequence that Barbican invokes methods on ``CryptoPluginBase``"},{"line_number":65,"context_line":"depends on the requested action as detailed next. Note that these actions are"},{"line_number":66,"context_line":"invoked via the secret store adapter class ``StoreCryptoAdapterPlugin`` which"},{"line_number":67,"context_line":"is further described in :ref:`plugin-secret-store-crypto-adapter-label` section."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"**For secret storage actions**, Barbican core calls the following methods:"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"9aa7fdbe_e0a3deaf","line":67,"updated":"2014-10-23 21:16:22.000000000","message":"same as above","commit_id":"d2ea973e2c1077d3c3e643373c7343aa0ef1cf2a"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"b187ee9b70b83026599861b5496b768277937e8a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"This guide describes how to develop a custom cryptographic plugin for use by"},{"line_number":8,"context_line":"Barbican."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Barbican supports two storage modes for secrets. This document focuses on the"},{"line_number":11,"context_line":"mode that stores encrypted secrets in Barbican\u0027s data store, utilizing a"},{"line_number":12,"context_line":"cryptographic process or appliance (such as a hardware security module (HSM))"},{"line_number":13,"context_line":"to perform the encryption/decryption. A current implementation included in"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa7fdbe_b799f07a","line":10,"updated":"2014-10-26 22:10:09.000000000","message":"When I see \"supports two storage modes\" I expect to see something like:\n\n1) mode one (do we have a name for it?)\n2) mode two (\"secret store mode\")","commit_id":"13332b84052e8988f4da87ea633daf82a07c444b"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"b187ee9b70b83026599861b5496b768277937e8a","unresolved":false,"context_lines":[{"line_number":10,"context_line":"Barbican supports two storage modes for secrets. This document focuses on the"},{"line_number":11,"context_line":"mode that stores encrypted secrets in Barbican\u0027s data store, utilizing a"},{"line_number":12,"context_line":"cryptographic process or appliance (such as a hardware security module (HSM))"},{"line_number":13,"context_line":"to perform the encryption/decryption. A current implementation included in"},{"line_number":14,"context_line":"Barbican is a PKCS11-based interface to SafeNet HSMs."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The other secret storage mode is referred to on this page as the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa7fdbe_5798c477","line":13,"updated":"2014-10-26 22:10:09.000000000","message":"Not a fan of \"current\" since that\u0027s only a moment in time and gets outdated quickly.  Howsabout something like \"Included in Barbican is a ...\"","commit_id":"13332b84052e8988f4da87ea633daf82a07c444b"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"b187ee9b70b83026599861b5496b768277937e8a","unresolved":false,"context_lines":[{"line_number":13,"context_line":"to perform the encryption/decryption. A current implementation included in"},{"line_number":14,"context_line":"Barbican is a PKCS11-based interface to SafeNet HSMs."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The other secret storage mode is referred to on this page as the"},{"line_number":17,"context_line":":doc:`secret store mode \u003c/plugin/secret_store\u003e`. Note that cryptographic"},{"line_number":18,"context_line":"plugins are invoked from within the context of a \u0027secret store\u0027 plugin via an"},{"line_number":19,"context_line":"adapter class, further described in the"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa7fdbe_1782bcff","line":16,"updated":"2014-10-26 22:10:09.000000000","message":"See above - if we enumerate both modes then we don\u0027t need this first sentence.","commit_id":"13332b84052e8988f4da87ea633daf82a07c444b"},{"author":{"_account_id":7789,"name":"John Wood","email":"john.wood@rackspace.com","username":"woodster"},"change_message_id":"079fb4cce09bbebc90c392291c05425a2f7be105","unresolved":false,"context_lines":[{"line_number":17,"context_line":":doc:`secret store mode \u003c/plugin/secret_store\u003e`. Note that cryptographic"},{"line_number":18,"context_line":"plugins are invoked from within the context of a \u0027secret store\u0027 plugin via an"},{"line_number":19,"context_line":"adapter class, further described in the"},{"line_number":20,"context_line":":ref:`plugin-secret-store-crypto-adapter-label` section."},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"``crypto`` Module"},{"line_number":23,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa7fdbe_a7546cff","line":20,"range":{"start_line":20,"start_character":1,"end_line":20,"end_character":4},"updated":"2014-10-24 22:55:54.000000000","message":"I need this to be a section link on this same page, the :doc: markup doesn\u0027t seem to support that for me.","commit_id":"13332b84052e8988f4da87ea633daf82a07c444b"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"b187ee9b70b83026599861b5496b768277937e8a","unresolved":false,"context_lines":[{"line_number":61,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"The sequence that Barbican invokes methods on ``CryptoPluginBase``"},{"line_number":64,"context_line":"depends on the requested action as detailed next. Note that these actions are"},{"line_number":65,"context_line":"invoked via the secret store adapter class ``StoreCryptoAdapterPlugin`` which"},{"line_number":66,"context_line":"is further described in :ref:`plugin-secret-store-crypto-adapter-label` section."},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa7fdbe_37850007","line":64,"updated":"2014-10-26 22:10:09.000000000","message":"do we need \"as detailed next\"?  I will suggest we don\u0027t.","commit_id":"13332b84052e8988f4da87ea633daf82a07c444b"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"b187ee9b70b83026599861b5496b768277937e8a","unresolved":false,"context_lines":[{"line_number":63,"context_line":"The sequence that Barbican invokes methods on ``CryptoPluginBase``"},{"line_number":64,"context_line":"depends on the requested action as detailed next. Note that these actions are"},{"line_number":65,"context_line":"invoked via the secret store adapter class ``StoreCryptoAdapterPlugin`` which"},{"line_number":66,"context_line":"is further described in :ref:`plugin-secret-store-crypto-adapter-label` section."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"**For secret storage actions**, Barbican core calls the following methods:"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa7fdbe_577fe414","line":66,"updated":"2014-10-26 22:10:09.000000000","message":"I think we can delete \"section\" at the end of this sentence.","commit_id":"13332b84052e8988f4da87ea633daf82a07c444b"},{"author":{"_account_id":7789,"name":"John Wood","email":"john.wood@rackspace.com","username":"woodster"},"change_message_id":"079fb4cce09bbebc90c392291c05425a2f7be105","unresolved":false,"context_lines":[{"line_number":63,"context_line":"The sequence that Barbican invokes methods on ``CryptoPluginBase``"},{"line_number":64,"context_line":"depends on the requested action as detailed next. Note that these actions are"},{"line_number":65,"context_line":"invoked via the secret store adapter class ``StoreCryptoAdapterPlugin`` which"},{"line_number":66,"context_line":"is further described in :ref:`plugin-secret-store-crypto-adapter-label` section."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"**For secret storage actions**, Barbican core calls the following methods:"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa7fdbe_27407c33","line":66,"updated":"2014-10-24 22:55:54.000000000","message":"Same comment as above...I need this be a link to a section on this page.","commit_id":"13332b84052e8988f4da87ea633daf82a07c444b"}],"doc/source/plugin/secret_store.rst":[{"author":{"_account_id":7262,"name":"John Vrbanac","email":"john.vrbanac@linux.com","username":"john.vrbanac"},"change_message_id":"5ad2d190c4c80d6d160b0acfcb10c80144503577","unresolved":false,"context_lines":[{"line_number":14,"context_line":"interface to a Red Hat Dogtag service, and to a Key Management Interoperability"},{"line_number":15,"context_line":"Protocol (KMIP) compliant security appliance."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"The other secret storage mode is detailed in the :ref:`plugin-crypto-label`"},{"line_number":18,"context_line":"page and is referred to on this page as the \u0027cryptographic mode\u0027. The secret"},{"line_number":19,"context_line":"store mode defers the storage of encrypted secrets to plugins. Hence Barbican"},{"line_number":20,"context_line":"core does not need to store encrypted secrets into its data store, unlike the"}],"source_content_type":"text/x-rst","patch_set":1,"id":"9aa7fdbe_807bf226","line":17,"updated":"2014-10-23 21:16:22.000000000","message":"Same comment about using the :doc: tag","commit_id":"d2ea973e2c1077d3c3e643373c7343aa0ef1cf2a"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"b187ee9b70b83026599861b5496b768277937e8a","unresolved":false,"context_lines":[{"line_number":7,"context_line":"This guide describes how to develop a custom secret store plugin for use by"},{"line_number":8,"context_line":"Barbican."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Barbican supports two storage modes for secrets. This document focuses on the"},{"line_number":11,"context_line":"mode that offloads both encryption/decryption and encrypted secret storage to"},{"line_number":12,"context_line":"the plugin implementation. Current implementations included in Barbican are an"},{"line_number":13,"context_line":"interface to a Red Hat Dogtag service, and to a Key Management Interoperability"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa7fdbe_9775cc33","line":10,"updated":"2014-10-26 22:10:09.000000000","message":"lets show those 2 modes right up front.","commit_id":"13332b84052e8988f4da87ea633daf82a07c444b"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"b187ee9b70b83026599861b5496b768277937e8a","unresolved":false,"context_lines":[{"line_number":13,"context_line":"interface to a Red Hat Dogtag service, and to a Key Management Interoperability"},{"line_number":14,"context_line":"Protocol (KMIP) compliant security appliance."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"The other secret storage mode is referred to on this page as the"},{"line_number":17,"context_line":":doc:`cryptographic mode \u003c/plugin/crypto\u003e`. The secret store mode defers the"},{"line_number":18,"context_line":"storage of encrypted secrets to plugins. Hence Barbican core does not need to"},{"line_number":19,"context_line":"store encrypted secrets into its data store, unlike the cryptographic mode. To"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa7fdbe_f7953833","line":16,"updated":"2014-10-26 22:10:09.000000000","message":"This is confusing - we start to talk about cryptographic mode, then we bounce over to secret store mode, then we call them both secret storage modes.  I think we need to nail down some good names for each mode and clearly differentiate the two rather than mixing descriptions.  That will make my brain hurt less.","commit_id":"13332b84052e8988f4da87ea633daf82a07c444b"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"b187ee9b70b83026599861b5496b768277937e8a","unresolved":false,"context_lines":[{"line_number":46,"context_line":"Secret Parameter Objects"},{"line_number":47,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"The secret parameter classes are encapsulate information about secrets to be"},{"line_number":50,"context_line":"stored within Barbican and/or its plugins."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa7fdbe_1799dc6d","line":49,"updated":"2014-10-26 22:10:09.000000000","message":"don\u0027t need \"are\"","commit_id":"13332b84052e8988f4da87ea633daf82a07c444b"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"b187ee9b70b83026599861b5496b768277937e8a","unresolved":false,"context_lines":[{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Barbican secret store plugins should implement the abstract base class"},{"line_number":64,"context_line":"``SecretStoreBase``.  Concrete implementations of this class should be exposed"},{"line_number":65,"context_line":"to barbican using ``stevedore`` mechanisms explained in the configuration"},{"line_number":66,"context_line":"portion of this guide."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":".. autoclass:: SecretStoreBase"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa7fdbe_379c205d","line":65,"updated":"2014-10-26 22:10:09.000000000","message":"capitalize Barbican","commit_id":"13332b84052e8988f4da87ea633daf82a07c444b"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"b187ee9b70b83026599861b5496b768277937e8a","unresolved":false,"context_lines":[{"line_number":63,"context_line":"Barbican secret store plugins should implement the abstract base class"},{"line_number":64,"context_line":"``SecretStoreBase``.  Concrete implementations of this class should be exposed"},{"line_number":65,"context_line":"to barbican using ``stevedore`` mechanisms explained in the configuration"},{"line_number":66,"context_line":"portion of this guide."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":".. autoclass:: SecretStoreBase"},{"line_number":69,"context_line":"   :members:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa7fdbe_77a14893","line":66,"updated":"2014-10-26 22:10:09.000000000","message":"link perhaps?","commit_id":"13332b84052e8988f4da87ea633daf82a07c444b"},{"author":{"_account_id":7789,"name":"John Wood","email":"john.wood@rackspace.com","username":"woodster"},"change_message_id":"769c47a6a5b54236ae2f74f0d2a101d9f79b8186","unresolved":false,"context_lines":[{"line_number":63,"context_line":"Barbican secret store plugins should implement the abstract base class"},{"line_number":64,"context_line":"``SecretStoreBase``.  Concrete implementations of this class should be exposed"},{"line_number":65,"context_line":"to barbican using ``stevedore`` mechanisms explained in the configuration"},{"line_number":66,"context_line":"portion of this guide."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":".. autoclass:: SecretStoreBase"},{"line_number":69,"context_line":"   :members:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa7fdbe_b5b8f111","line":66,"in_reply_to":"9aa7fdbe_77a14893","updated":"2014-10-27 19:46:36.000000000","message":"Nothing to link to yet actually. I\u0027m not sure if this should be part of John V\u0027s new \u0027setup\u0027 folder structure, or else part of its own \u0027config\u0027 folder struct?","commit_id":"13332b84052e8988f4da87ea633daf82a07c444b"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"b187ee9b70b83026599861b5496b768277937e8a","unresolved":false,"context_lines":[{"line_number":82,"context_line":"   for storage, this method asks the plugin to provide the transport key."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"2. ``store_secret_supports()`` - Asks the plugin if it can support storing a"},{"line_number":85,"context_line":"   secret based on the ``KeySpec`` parameter information as described above."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"3. ``store_secret()`` - Asks the plugin to perform encryption of an unencrypted"},{"line_number":88,"context_line":"   secret payload as provided in the ``SecretDTO`` above, and then to store"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa7fdbe_b7a730a6","line":85,"updated":"2014-10-26 22:10:09.000000000","message":"can there be an href to the KeySpec section?","commit_id":"13332b84052e8988f4da87ea633daf82a07c444b"},{"author":{"_account_id":7789,"name":"John Wood","email":"john.wood@rackspace.com","username":"woodster"},"change_message_id":"769c47a6a5b54236ae2f74f0d2a101d9f79b8186","unresolved":false,"context_lines":[{"line_number":82,"context_line":"   for storage, this method asks the plugin to provide the transport key."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"2. ``store_secret_supports()`` - Asks the plugin if it can support storing a"},{"line_number":85,"context_line":"   secret based on the ``KeySpec`` parameter information as described above."},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"3. ``store_secret()`` - Asks the plugin to perform encryption of an unencrypted"},{"line_number":88,"context_line":"   secret payload as provided in the ``SecretDTO`` above, and then to store"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa7fdbe_355b21f7","line":85,"in_reply_to":"9aa7fdbe_b7a730a6","updated":"2014-10-27 19:46:36.000000000","message":"I\u0027d prefer to minimize links to classes within this page, as I think there would be a lot links to add?","commit_id":"13332b84052e8988f4da87ea633daf82a07c444b"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"b187ee9b70b83026599861b5496b768277937e8a","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"1. ``generate_supports()`` -  Asks the plugin if it can support generating a"},{"line_number":104,"context_line":"   symmetric key based on the ``KeySpec`` parameter information as described"},{"line_number":105,"context_line":"   above."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"2. ``generate_symmetric_key()`` - Asks the plugin to both generate and store a"},{"line_number":108,"context_line":"   symmetric key based on the ``KeySpec`` parameter information. The plugin can"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa7fdbe_f7bc58bd","line":105,"updated":"2014-10-26 22:10:09.000000000","message":"same comment as above","commit_id":"13332b84052e8988f4da87ea633daf82a07c444b"},{"author":{"_account_id":7789,"name":"John Wood","email":"john.wood@rackspace.com","username":"woodster"},"change_message_id":"769c47a6a5b54236ae2f74f0d2a101d9f79b8186","unresolved":false,"context_lines":[{"line_number":102,"context_line":""},{"line_number":103,"context_line":"1. ``generate_supports()`` -  Asks the plugin if it can support generating a"},{"line_number":104,"context_line":"   symmetric key based on the ``KeySpec`` parameter information as described"},{"line_number":105,"context_line":"   above."},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"2. ``generate_symmetric_key()`` - Asks the plugin to both generate and store a"},{"line_number":108,"context_line":"   symmetric key based on the ``KeySpec`` parameter information. The plugin can"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa7fdbe_b599d17a","line":105,"in_reply_to":"9aa7fdbe_f7bc58bd","updated":"2014-10-27 19:46:36.000000000","message":"The :ref: trick I used to jump to sections didn\u0027t work in front of the autoclass tags above, so I don\u0027t think so. :\\","commit_id":"13332b84052e8988f4da87ea633daf82a07c444b"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"b187ee9b70b83026599861b5496b768277937e8a","unresolved":false,"context_lines":[{"line_number":107,"context_line":"2. ``generate_symmetric_key()`` - Asks the plugin to both generate and store a"},{"line_number":108,"context_line":"   symmetric key based on the ``KeySpec`` parameter information. The plugin can"},{"line_number":109,"context_line":"   then return a dictionary of information for the stored secret similar to"},{"line_number":110,"context_line":"   the storage process above, which Barbican core will persist for later"},{"line_number":111,"context_line":"   retrieval of this generated secret."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"**For asymmetric key generation**, Barbican core calls the following methods:"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa7fdbe_17b0fcdb","line":110,"updated":"2014-10-26 22:10:09.000000000","message":"link to that section above?","commit_id":"13332b84052e8988f4da87ea633daf82a07c444b"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"b187ee9b70b83026599861b5496b768277937e8a","unresolved":false,"context_lines":[{"line_number":114,"context_line":""},{"line_number":115,"context_line":"1. ``generate_supports()`` - Asks the plugin if it can support generating an"},{"line_number":116,"context_line":"   asymmetric key based on the ``KeySpec`` parameter information as described"},{"line_number":117,"context_line":"   above."},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"2. ``generate_asymmetric_key()`` - Asks the plugin to both generate and store"},{"line_number":120,"context_line":"   an asymmetric key based on the ``KeySpec`` parameter information. The plugin"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa7fdbe_37b340ea","line":117,"updated":"2014-10-26 22:10:09.000000000","message":"same comment as above","commit_id":"13332b84052e8988f4da87ea633daf82a07c444b"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"b187ee9b70b83026599861b5496b768277937e8a","unresolved":false,"context_lines":[{"line_number":118,"context_line":""},{"line_number":119,"context_line":"2. ``generate_asymmetric_key()`` - Asks the plugin to both generate and store"},{"line_number":120,"context_line":"   an asymmetric key based on the ``KeySpec`` parameter information. The plugin"},{"line_number":121,"context_line":"   can then return an ``AsymmetricKeyMetadataDTO`` object as described above,"},{"line_number":122,"context_line":"   which contains secret metadata for each of the three secrets generated and"},{"line_number":123,"context_line":"   stored by this plugin: private key, public key and an optional passphrase."},{"line_number":124,"context_line":"   Barbican core will then persist information for these secrets, and also"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa7fdbe_77c86855","line":121,"updated":"2014-10-26 22:10:09.000000000","message":"link to that section above?","commit_id":"13332b84052e8988f4da87ea633daf82a07c444b"},{"author":{"_account_id":9234,"name":"Steve Heyman","email":"steve@heyman.com","username":"hockeynut"},"change_message_id":"b187ee9b70b83026599861b5496b768277937e8a","unresolved":false,"context_lines":[{"line_number":134,"context_line":"functions as a secret store plugin, but it directs secret related operations to"},{"line_number":135,"context_line":":doc:`cryptographic plugins \u003c/plugin/crypto\u003e` for"},{"line_number":136,"context_line":"encryption/decryption/generation operations. Because cryptographic plugins do"},{"line_number":137,"context_line":"not store encrypted secrets though, this adapter plugin provides this storage"},{"line_number":138,"context_line":"capability via Barbican\u0027s data store."},{"line_number":139,"context_line":""},{"line_number":140,"context_line":"This adapter plugin also uses ``stevedore`` to access and utilize cryptographic"}],"source_content_type":"text/x-rst","patch_set":2,"id":"9aa7fdbe_97c30c37","line":137,"updated":"2014-10-26 22:10:09.000000000","message":"don\u0027t need \"though\"","commit_id":"13332b84052e8988f4da87ea633daf82a07c444b"}]}
