)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"e6b058c7904953aa3e31449688f191caea4072e4","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Add instructions in the Operations Guide about how to use the new"},{"line_number":10,"context_line":"image signing feature, which was released in Compute during Mitaka."},{"line_number":11,"context_line":"Closes-Bug: #1507623"},{"line_number":12,"context_line":"Change-Id: I208e65e47617f3054b97ebf468f2dff98feeedeb"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"9a68dd71_5b2a0c80","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":20},"updated":"2016-01-26 15:30:11.000000000","message":"nit: there should be a blank line before \"Closes-Bug\"","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"}],"doc/openstack-ops/ch_ops_user_facing.xml":[{"author":{"_account_id":10897,"name":"Joseph Robinson","email":"josephremail@gmail.com","username":"RobiJoe"},"change_message_id":"06fa8c1d3de1c0ca07b4d4313206076edc9deea1","unresolved":false,"context_lines":[{"line_number":90,"context_line":"      enterprise-capable steps would probably need to go to TBD Castellan page.]"},{"line_number":91,"context_line":"      \u003c/para\u003e"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"      \u003cpara\u003eThe following are steps needed to create the signature used for the signed images:\u003c/para\u003e"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"   \u003cprocedure\u003e"},{"line_number":96,"context_line":"      \u003cstep\u003e"}],"source_content_type":"application/xml","patch_set":2,"id":"ba8a016a_a74e75bf","line":93,"updated":"2015-11-16 23:47:27.000000000","message":"Some of the longer lines, here for example, may cause the checkniceness to return a failed response.","commit_id":"4cd00ea0e14657c3c08f8fe99b50339700d92fd5"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"ec6eeced428f540a2fd65c88790192135ce8065d","unresolved":false,"context_lines":[{"line_number":91,"context_line":"      \u003c/para\u003e"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"      \u003cpara\u003eThe following are steps needed to create the signature used for the signed images:\u003c/para\u003e"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"   \u003cprocedure\u003e"},{"line_number":96,"context_line":"      \u003cstep\u003e"},{"line_number":97,"context_line":"        \u003cpara\u003eRetrieve image for upload\u003c/para\u003e"}],"source_content_type":"application/xml","patch_set":2,"id":"ba8a016a_dfa74b09","line":94,"updated":"2015-11-18 19:19:58.000000000","message":"Thanks Joseph. My local tox wasn\u0027t up to date, so it didn\u0027t catch this. It should be resolved now in the next patch.","commit_id":"4cd00ea0e14657c3c08f8fe99b50339700d92fd5"},{"author":{"_account_id":10897,"name":"Joseph Robinson","email":"josephremail@gmail.com","username":"RobiJoe"},"change_message_id":"06fa8c1d3de1c0ca07b4d4313206076edc9deea1","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        \u003cpara\u003eSeveral properties used in the \u0027Use private key to create the signature of MD5 Hash\u0027 section above are necessary below."},{"line_number":186,"context_line":"        1) propertysignature uses the signature called signature_64,"},{"line_number":187,"context_line":"        2) Signature hash method, Signature key type, Mask gen algorithm, and PSS salt length are noted above, and"},{"line_number":188,"context_line":"        3) signature_certificate_uuid uses the value from cert_uuid in the Upload Certificate in DER format to Castellan section above\u003c/para\u003e\u003c/note\u003e"},{"line_number":189,"context_line":""},{"line_number":190,"context_line":"        \u003cscreen\u003e\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003esource openrc demo\u003c/userinput\u003e"},{"line_number":191,"context_line":"\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003eexport OS_IMAGE_API_VERSION\u003d2\u003c/userinput\u003e"}],"source_content_type":"application/xml","patch_set":2,"id":"ba8a016a_477229e7","line":188,"updated":"2015-11-16 23:47:27.000000000","message":"Similarly here, the longer lines of the content inside the note\u0027s \u003cpara\u003e tags may be causing the checkniceness failure.","commit_id":"4cd00ea0e14657c3c08f8fe99b50339700d92fd5"},{"author":{"_account_id":10897,"name":"Joseph Robinson","email":"josephremail@gmail.com","username":"RobiJoe"},"change_message_id":"ee3408daa463827ed36c9b9e83df5752efaa4dfb","unresolved":false,"context_lines":[{"line_number":76,"context_line":"    \u003csection xml:id\u003d\"add_signed_images\"\u003e"},{"line_number":77,"context_line":"      \u003ctitle\u003eAdding Signed Images\u003c/title\u003e"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"      \u003cpara\u003eTo provide a chain of trust from an image source to the Image"},{"line_number":80,"context_line":"      service, signed images can be imported into the Image service."},{"line_number":81,"context_line":"      Appropriate Image service properties need to be set to enable signature"},{"line_number":82,"context_line":"      verification.  Currently signature verification is provided in the Image"}],"source_content_type":"application/xml","patch_set":3,"id":"ba8a016a_52c34557","line":79,"updated":"2015-11-19 01:21:22.000000000","message":"Switch to active voice:\nTo provide a chain of trust from an image source to the Image service, you can import signed images into the Image service.","commit_id":"653a79a3fb16ad49a0bbe8dcbca73cde37a55cfc"},{"author":{"_account_id":10897,"name":"Joseph Robinson","email":"josephremail@gmail.com","username":"RobiJoe"},"change_message_id":"ee3408daa463827ed36c9b9e83df5752efaa4dfb","unresolved":false,"context_lines":[{"line_number":81,"context_line":"      Appropriate Image service properties need to be set to enable signature"},{"line_number":82,"context_line":"      verification.  Currently signature verification is provided in the Image"},{"line_number":83,"context_line":"      service only, but an accompanying feature in Compute is targeted for"},{"line_number":84,"context_line":"      Mitaka.  Note: Prior to the steps below, an asymmetric keypair and"},{"line_number":85,"context_line":"      certificate must be created.  In this example, the created private key"},{"line_number":86,"context_line":"      is called private_key.pem and the created certificate is called"},{"line_number":87,"context_line":"      new_cert.crt, and both reside in the current directory.  [Devstack-based"}],"source_content_type":"application/xml","patch_set":3,"id":"ba8a016a_921f6d07","line":84,"updated":"2015-11-19 01:21:22.000000000","message":"Consider moving this note to it\u0027s own space with the xml element. Change the note to active voice:\n\nenterprise-capable steps would probably need to go to TBD Castellan page.]\n\u003c/para\u003e\n\u003cnote\u003e\n   \u003cpara\u003ePrior to following the steps below, create an asymmetric keypair and certificate.\u003c/para\u003e\n\u003c/note\u003e","commit_id":"653a79a3fb16ad49a0bbe8dcbca73cde37a55cfc"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"3ccf2fcf2f49d08550b6e3dee3abe6b599d1b6b2","unresolved":false,"context_lines":[{"line_number":105,"context_line":"      \u003c/step\u003e"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"      \u003cstep\u003e"},{"line_number":108,"context_line":"        \u003cpara\u003eImport private key\u003c/para\u003e"},{"line_number":109,"context_line":"        \u003cscreen\u003e\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003epython"},{"line_number":110,"context_line":"\u0026gt;\u0026gt;\u0026gt; # Note: The maximum RSA key size supported below is currently 1024."},{"line_number":111,"context_line":"\u0026gt;\u0026gt;\u0026gt; from cryptography.hazmat.backends import default_backend"}],"source_content_type":"application/xml","patch_set":3,"id":"ba8a016a_bf01ae3b","line":108,"updated":"2015-11-20 18:26:42.000000000","message":"This import private key step is not needed, since the signature is created using openssl.  This step should be removed entirely.","commit_id":"653a79a3fb16ad49a0bbe8dcbca73cde37a55cfc"},{"author":{"_account_id":10705,"name":"Darren Chan","email":"dazzachan@yahoo.com.au","username":"daz"},"change_message_id":"60cbb3dae64843331a2c4b82cd414940333051b6","unresolved":false,"context_lines":[{"line_number":131,"context_line":"          1) Signature hash method \u003d SHA256,"},{"line_number":132,"context_line":"          2) Signature key type \u003d RSA-PSS,"},{"line_number":133,"context_line":"          3) Mask gen algorithm \u003d MGF1,"},{"line_number":134,"context_line":"          4) PSS salt length \u003d 94 (maximum default based on key size and hash method).\u003c/para\u003e"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"          \u003cpara\u003eNote that the padding.PSS.MAX_LENGTH is used to determine"},{"line_number":137,"context_line":"          the maximum length of the salt based on the other parameters."}],"source_content_type":"application/xml","patch_set":3,"id":"9a8ffd7b_af409a36","line":134,"updated":"2015-11-30 22:35:42.000000000","message":"Use an itemized list (http://www.docbook.org/tdg/en/html/itemizedlist.html)","commit_id":"653a79a3fb16ad49a0bbe8dcbca73cde37a55cfc"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"3ccf2fcf2f49d08550b6e3dee3abe6b599d1b6b2","unresolved":false,"context_lines":[{"line_number":139,"context_line":"          is provided.\u003c/para\u003e"},{"line_number":140,"context_line":"        \u003c/note\u003e"},{"line_number":141,"context_line":"        \u003cpara\u003eGenerate signature for hash of image:\u003c/para\u003e"},{"line_number":142,"context_line":"        \u003cscreen\u003e\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003eopenssl dgst -sha256 -sign private-key -sigopt rsa_padding_mode:pss -out image-file.signature checksum_hash\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":143,"context_line":"        \u003cscreen\u003e\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003ebase64 image-file.signature \u003e signature_64\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":144,"context_line":"      \u003c/step\u003e"},{"line_number":145,"context_line":""}],"source_content_type":"application/xml","patch_set":3,"id":"ba8a016a_ffb41683","line":142,"updated":"2015-11-20 18:26:42.000000000","message":"\"private-key\" should be replaced with \"private_key.pem\" per the name used on line 86","commit_id":"653a79a3fb16ad49a0bbe8dcbca73cde37a55cfc"},{"author":{"_account_id":10705,"name":"Darren Chan","email":"dazzachan@yahoo.com.au","username":"daz"},"change_message_id":"60cbb3dae64843331a2c4b82cd414940333051b6","unresolved":false,"context_lines":[{"line_number":181,"context_line":"      \u003cstep\u003e\u003cpara\u003eUpload Image to Glance, with Signature Metadata\u003c/para\u003e"},{"line_number":182,"context_line":""},{"line_number":183,"context_line":"      \u003cnote\u003e"},{"line_number":184,"context_line":"        \u003cpara\u003eSeveral properties used in the \u0027Use private key to create the signature of MD5 Hash\u0027 section above are necessary below."},{"line_number":185,"context_line":"        1) propertysignature uses the signature called signature_64,"},{"line_number":186,"context_line":"        2) Signature hash method, Signature key type, Mask gen algorithm, and PSS salt length are noted above, and"},{"line_number":187,"context_line":"        3) signature_certificate_uuid uses the value from cert_uuid in the Upload Certificate in DER format to Castellan section above\u003c/para\u003e\u003c/note\u003e"}],"source_content_type":"application/xml","patch_set":3,"id":"9a8ffd7b_6f1cf26a","line":184,"updated":"2015-11-30 22:35:42.000000000","message":"Consider rephrasing this sentence. Can you specify what these properties are necessary for?","commit_id":"653a79a3fb16ad49a0bbe8dcbca73cde37a55cfc"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"3ccf2fcf2f49d08550b6e3dee3abe6b599d1b6b2","unresolved":false,"context_lines":[{"line_number":182,"context_line":""},{"line_number":183,"context_line":"      \u003cnote\u003e"},{"line_number":184,"context_line":"        \u003cpara\u003eSeveral properties used in the \u0027Use private key to create the signature of MD5 Hash\u0027 section above are necessary below."},{"line_number":185,"context_line":"        1) propertysignature uses the signature called signature_64,"},{"line_number":186,"context_line":"        2) Signature hash method, Signature key type, Mask gen algorithm, and PSS salt length are noted above, and"},{"line_number":187,"context_line":"        3) signature_certificate_uuid uses the value from cert_uuid in the Upload Certificate in DER format to Castellan section above\u003c/para\u003e\u003c/note\u003e"},{"line_number":188,"context_line":""}],"source_content_type":"application/xml","patch_set":3,"id":"ba8a016a_bf0bee2a","line":185,"updated":"2015-11-20 18:26:42.000000000","message":"There should be a space between \"property\" and \"signature\"","commit_id":"653a79a3fb16ad49a0bbe8dcbca73cde37a55cfc"},{"author":{"_account_id":10705,"name":"Darren Chan","email":"dazzachan@yahoo.com.au","username":"daz"},"change_message_id":"60cbb3dae64843331a2c4b82cd414940333051b6","unresolved":false,"context_lines":[{"line_number":184,"context_line":"        \u003cpara\u003eSeveral properties used in the \u0027Use private key to create the signature of MD5 Hash\u0027 section above are necessary below."},{"line_number":185,"context_line":"        1) propertysignature uses the signature called signature_64,"},{"line_number":186,"context_line":"        2) Signature hash method, Signature key type, Mask gen algorithm, and PSS salt length are noted above, and"},{"line_number":187,"context_line":"        3) signature_certificate_uuid uses the value from cert_uuid in the Upload Certificate in DER format to Castellan section above\u003c/para\u003e\u003c/note\u003e"},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"        \u003cscreen\u003e\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003esource openrc demo\u003c/userinput\u003e"},{"line_number":190,"context_line":"\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003eexport OS_IMAGE_API_VERSION\u003d2\u003c/userinput\u003e"}],"source_content_type":"application/xml","patch_set":3,"id":"9a8ffd7b_d4501361","line":187,"updated":"2015-11-30 22:35:42.000000000","message":"Use an ordered list (http://www.docbook.org/tdg/en/html/orderedlist.html) or itemized list (http://www.docbook.org/tdg/en/html/itemizedlist.html)","commit_id":"653a79a3fb16ad49a0bbe8dcbca73cde37a55cfc"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"3ccf2fcf2f49d08550b6e3dee3abe6b599d1b6b2","unresolved":false,"context_lines":[{"line_number":189,"context_line":"        \u003cscreen\u003e\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003esource openrc demo\u003c/userinput\u003e"},{"line_number":190,"context_line":"\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003eexport OS_IMAGE_API_VERSION\u003d2\u003c/userinput\u003e"},{"line_number":191,"context_line":"\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003eglance image-create --property name\u003dcirrosSignedImage_goodSignature --property"},{"line_number":192,"context_line":"is-public\u003dtrue --container-format bare  --disk-format qcow2ñ-propertysignature\u003d"},{"line_number":193,"context_line":"\u0027c4br5f3FYQV6Nu20cRUSnx75R/VcW3diQdsUN2nhPw+UcQRDoGx92hwMgRxzFYeUyydRTWCcUS2ZLu"},{"line_number":194,"context_line":"dPR9X7rMTHFInA54Zj1TwEIbJTkHwlqbWBMU4+k5IUIjXxHO6RuH3Z5f/SlSt7ajsNVXaIclWqIw5Yv"},{"line_number":195,"context_line":"EkgXTIEuDPE+C4\u003d\u0027 --property signature_certificate_uuid\u003d\u002762a33f41-f061-44ba-9a69"}],"source_content_type":"application/xml","patch_set":3,"id":"ba8a016a_62516d0e","line":192,"updated":"2015-11-20 18:26:42.000000000","message":"There should be a \" -\" instead of an \"ñ\" before \"-property signature\":\n\n --disk-format qcow2 --property signature\u003d","commit_id":"653a79a3fb16ad49a0bbe8dcbca73cde37a55cfc"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"3ccf2fcf2f49d08550b6e3dee3abe6b599d1b6b2","unresolved":false,"context_lines":[{"line_number":195,"context_line":"EkgXTIEuDPE+C4\u003d\u0027 --property signature_certificate_uuid\u003d\u002762a33f41-f061-44ba-9a69"},{"line_number":196,"context_line":"-4fc247d3bfce\u0027 --property signature_hash_method\u003d\u0027SHA-256\u0027 --property signature_"},{"line_number":197,"context_line":"key_type\u003d\u0027RSA-PSS\u0027 --property mask_gen_algorithm\u003d\u0027MGF1\u0027 --property pss_salt_"},{"line_number":198,"context_line":"length\u003d94 \u0026lt; ~/cirros-0.3.4-x86_64-disk.img\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":199,"context_line":"      \u003c/step\u003e"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"      \u003cstep\u003e\u003cpara\u003eCheck log file for success\u003c/para\u003e"}],"source_content_type":"application/xml","patch_set":3,"id":"ba8a016a_e2ca3d6e","line":198,"updated":"2015-11-20 18:26:42.000000000","message":"It might be helpful to break this into multiple lines to make it more readable.\n\n glance image-create \\\n --property name\u003dcirrosSignedImage_goodSignature \\\n --property is-public\u003dtrue \\\n --container-format bare  \\\n --disk-format qcow2 \\\n --propertysignature\u003d\u0027c4br5f3FYQV6Nu20cRUSnx75R/VcW3diQdsUN2nhPw+UcQRDoGx92hwMgRxzFYeUyydRTWCcUS2ZLudPR9X7rMTHFInA54Zj1TwEIbJTkHwlqbWBMU4+k5IUIjXxHO6RuH3Z5f/SlSt7ajsNVXaIclWqIw5YvEkgXTIEuDPE+C4\u003d\u0027 \\\n --property signature_certificate_uuid\u003d\u002762a33f41-f061-44ba-9a69-4fc247d3bfce\u0027 \\\n --property signature_hash_method\u003d\u0027SHA-256\u0027 \\\n --property signature_key_type\u003d\u0027RSA-PSS\u0027 \\\n --property mask_gen_algorithm\u003d\u0027MGF1\u0027 \\\n --property pss_salt_length\u003d94 \\\n \u003c ~/cirros-0.3.4-x86_64-disk.img","commit_id":"653a79a3fb16ad49a0bbe8dcbca73cde37a55cfc"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"3ccf2fcf2f49d08550b6e3dee3abe6b599d1b6b2","unresolved":false,"context_lines":[{"line_number":196,"context_line":"-4fc247d3bfce\u0027 --property signature_hash_method\u003d\u0027SHA-256\u0027 --property signature_"},{"line_number":197,"context_line":"key_type\u003d\u0027RSA-PSS\u0027 --property mask_gen_algorithm\u003d\u0027MGF1\u0027 --property pss_salt_"},{"line_number":198,"context_line":"length\u003d94 \u0026lt; ~/cirros-0.3.4-x86_64-disk.img\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":199,"context_line":"      \u003c/step\u003e"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"      \u003cstep\u003e\u003cpara\u003eCheck log file for success\u003c/para\u003e"},{"line_number":202,"context_line":"        \u003cscreen\u003e \u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003egrep \"Successfully verified signature for image\" /opt/stack/logs/g-api.log..."}],"source_content_type":"application/xml","patch_set":3,"id":"ba8a016a_c2ae19e7","line":199,"updated":"2015-11-20 18:26:42.000000000","message":"Since we\u0027re using actual example values in this command, would it be good to show these example values when they were generated in prior steps?  For example, should the certificate_uuid value be shown after the \"cert_uuid\" line above?\n\n \u003e\u003e\u003e cert_uuid\n u\u002762a33f41-f061-44ba-9a69-4fc247d3bfce\u0027","commit_id":"653a79a3fb16ad49a0bbe8dcbca73cde37a55cfc"},{"author":{"_account_id":10705,"name":"Darren Chan","email":"dazzachan@yahoo.com.au","username":"daz"},"change_message_id":"60cbb3dae64843331a2c4b82cd414940333051b6","unresolved":false,"context_lines":[{"line_number":198,"context_line":"length\u003d94 \u0026lt; ~/cirros-0.3.4-x86_64-disk.img\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":199,"context_line":"      \u003c/step\u003e"},{"line_number":200,"context_line":""},{"line_number":201,"context_line":"      \u003cstep\u003e\u003cpara\u003eCheck log file for success\u003c/para\u003e"},{"line_number":202,"context_line":"        \u003cscreen\u003e \u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003egrep \"Successfully verified signature for image\" /opt/stack/logs/g-api.log..."},{"line_number":203,"context_line":" Successfully verified signature for image...\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":204,"context_line":"      \u003c/step\u003e"}],"source_content_type":"application/xml","patch_set":3,"id":"9a8ffd7b_f442f767","line":201,"updated":"2015-11-30 22:35:42.000000000","message":"\"Check the log file to verify the signed image:\"","commit_id":"653a79a3fb16ad49a0bbe8dcbca73cde37a55cfc"},{"author":{"_account_id":10497,"name":"KATO Tomoyuki","email":"kato.tomoyuki@jp.fujitsu.com","username":"to222"},"change_message_id":"d426a836d3b1bdf5517fb9bac6d4f342bdc1ced9","unresolved":false,"context_lines":[{"line_number":290,"context_line":""},{"line_number":291,"context_line":"      \u003cscreen\u003e\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003eglance help\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"      \u003cpara\u003eor the \u003clink xlink:href\u003d\"http://docs.openstack.org/cli-reference/content/glanceclient_commands.html\"\u003eCommand-Line Interface Reference"},{"line_number":294,"context_line":"      \u003c/link\u003e.\u003c/para\u003e"},{"line_number":295,"context_line":"    \u003c/section\u003e"},{"line_number":296,"context_line":""}],"source_content_type":"application/xml","patch_set":4,"id":"9a68dd71_a024555f","line":293,"updated":"2016-01-26 03:57:41.000000000","message":"wrong rebase. \"http://docs.openstack.org/cli-reference/glance.html\" is correct.","commit_id":"9e1cfe5bffee08d66ffb22044dd6da4eddbf2ff4"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"c455e874d90699180b06f2e168ec4b930eac2659","unresolved":false,"context_lines":[{"line_number":81,"context_line":"      Appropriate Image service properties need to be set to enable signature"},{"line_number":82,"context_line":"      verification.  Currently signature verification is provided in Compute"},{"line_number":83,"context_line":"      only, but an accompanying feature in the Image service is targeted for"},{"line_number":84,"context_line":"      Mitaka. [Devstack-based steps to create asymmetric keypair and cert can"},{"line_number":85,"context_line":"      reside as a user-guide here http://docs.openstack.org/developer/barbican/api/,"},{"line_number":86,"context_line":"      but enterprise-capable steps will probably need to go to TBD Castellan page.]\u003c/para\u003e"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"      \u003cnote\u003e\u003cpara\u003ePrior to the steps below, an asymmetric keypair and certificate"},{"line_number":89,"context_line":"       must be created.  In this example, the created private key is called"}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_cce3a404","line":86,"range":{"start_line":84,"start_character":14,"end_line":86,"end_character":83},"updated":"2016-01-26 16:05:34.000000000","message":"I don\u0027t think this aside belongs in the final documentation. Perhaps it would be better to include this information as part of the commit message to indicate that links to additional documentation will be added at some point?","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"9b814d7e8d03a014d851a4ac47be704064be9846","unresolved":false,"context_lines":[{"line_number":81,"context_line":"      Appropriate Image service properties need to be set to enable signature"},{"line_number":82,"context_line":"      verification.  Currently signature verification is provided in Compute"},{"line_number":83,"context_line":"      only, but an accompanying feature in the Image service is targeted for"},{"line_number":84,"context_line":"      Mitaka. [Devstack-based steps to create asymmetric keypair and cert can"},{"line_number":85,"context_line":"      reside as a user-guide here http://docs.openstack.org/developer/barbican/api/,"},{"line_number":86,"context_line":"      but enterprise-capable steps will probably need to go to TBD Castellan page.]\u003c/para\u003e"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"      \u003cnote\u003e\u003cpara\u003ePrior to the steps below, an asymmetric keypair and certificate"},{"line_number":89,"context_line":"       must be created.  In this example, the created private key is called"}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_f833aff4","line":86,"range":{"start_line":84,"start_character":14,"end_line":86,"end_character":83},"in_reply_to":"9a68dd71_cce3a404","updated":"2016-01-26 22:46:31.000000000","message":"Done","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"c455e874d90699180b06f2e168ec4b930eac2659","unresolved":false,"context_lines":[{"line_number":88,"context_line":"      \u003cnote\u003e\u003cpara\u003ePrior to the steps below, an asymmetric keypair and certificate"},{"line_number":89,"context_line":"       must be created.  In this example, the created private key is called"},{"line_number":90,"context_line":"       private_key.pem and the created certificate is called new_cert.crt, and"},{"line_number":91,"context_line":"       both reside in the current directory.\u003c/para\u003e\u003c/note\u003e"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"      \u003cpara\u003eThe following are steps needed to create the signature used for the signed images:\u003c/para\u003e"},{"line_number":94,"context_line":""}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_4c16d4a8","line":91,"updated":"2016-01-26 16:05:34.000000000","message":"nit: It might be helpful to add a note about using a CirrOS image for the example but the general instructions work for any image. Or perhaps the `wget` could save the image with a generic name (like private_key.pem and new_cert.crt above).","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"9b814d7e8d03a014d851a4ac47be704064be9846","unresolved":false,"context_lines":[{"line_number":88,"context_line":"      \u003cnote\u003e\u003cpara\u003ePrior to the steps below, an asymmetric keypair and certificate"},{"line_number":89,"context_line":"       must be created.  In this example, the created private key is called"},{"line_number":90,"context_line":"       private_key.pem and the created certificate is called new_cert.crt, and"},{"line_number":91,"context_line":"       both reside in the current directory.\u003c/para\u003e\u003c/note\u003e"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"      \u003cpara\u003eThe following are steps needed to create the signature used for the signed images:\u003c/para\u003e"},{"line_number":94,"context_line":""}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_1831e3ec","line":91,"in_reply_to":"9a68dd71_4c16d4a8","updated":"2016-01-26 22:46:31.000000000","message":"Done","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"c455e874d90699180b06f2e168ec4b930eac2659","unresolved":false,"context_lines":[{"line_number":101,"context_line":"      \u003cstep\u003e"},{"line_number":102,"context_line":"        \u003cpara\u003ePrepare image for hash (being sure to strip off trailing"},{"line_number":103,"context_line":"        newline)\u003c/para\u003e"},{"line_number":104,"context_line":"        \u003cscreen\u003e\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003ecat cirros-0.3.4-x86_64-disk.img | awk \u0027{ print $1 }\u0027 | tr -d \u0027\\n\u0027 \u003e image\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":105,"context_line":"      \u003c/step\u003e"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"   \u003cstep\u003e"}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_6775f330","line":104,"range":{"start_line":104,"start_character":46,"end_line":104,"end_character":120},"updated":"2016-01-26 16:05:34.000000000","message":"What is the purpose of this command?\n\nIt looks like it\u0027s essentially renaming the file (which is inline with my prior comment above). If that\u0027s correct, a simple `mv cirros-0.3.4-x86_64-disk.img image` would be better.","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"9b814d7e8d03a014d851a4ac47be704064be9846","unresolved":false,"context_lines":[{"line_number":101,"context_line":"      \u003cstep\u003e"},{"line_number":102,"context_line":"        \u003cpara\u003ePrepare image for hash (being sure to strip off trailing"},{"line_number":103,"context_line":"        newline)\u003c/para\u003e"},{"line_number":104,"context_line":"        \u003cscreen\u003e\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003ecat cirros-0.3.4-x86_64-disk.img | awk \u0027{ print $1 }\u0027 | tr -d \u0027\\n\u0027 \u003e image\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":105,"context_line":"      \u003c/step\u003e"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"   \u003cstep\u003e"}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_b84c5777","line":104,"range":{"start_line":104,"start_character":46,"end_line":104,"end_character":120},"in_reply_to":"9a68dd71_6775f330","updated":"2016-01-26 22:46:31.000000000","message":"Done- You\u0027re right - it carried over some unnecessary filtering from the sign the hash approach, so now we just create the file.  BTW, I\u0027ve named the file by the name used in the Add Images section above this Add Signed Images patch, for consistency.","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"e6b058c7904953aa3e31449688f191caea4072e4","unresolved":false,"context_lines":[{"line_number":112,"context_line":"          \u003citemizedlist\u003e"},{"line_number":113,"context_line":"             \u003clistitem\u003e\u003cpara\u003eSignature hash method \u003d SHA256\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":114,"context_line":"             \u003clistitem\u003e\u003cpara\u003eSignature key type \u003d RSA-PSS\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":115,"context_line":"             \u003clistitem\u003e\u003cpara\u003eMask gen algorithm \u003d MGF1\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":116,"context_line":"             \u003clistitem\u003e\u003cpara\u003ePSS salt length \u003d 94 (maximum default based on key size and hash method)\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":117,"context_line":"          \u003c/itemizedlist\u003e"},{"line_number":118,"context_line":"          Note that the padding.PSS.MAX_LENGTH is used to determine"},{"line_number":119,"context_line":"          the maximum length of the salt based on the other parameters."}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_16f78bf6","line":116,"range":{"start_line":115,"start_character":13,"end_line":116,"end_character":119},"updated":"2016-01-26 15:30:11.000000000","message":"These two parameters are no longer configurable in Compute and should not be listed.","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"9b814d7e8d03a014d851a4ac47be704064be9846","unresolved":false,"context_lines":[{"line_number":112,"context_line":"          \u003citemizedlist\u003e"},{"line_number":113,"context_line":"             \u003clistitem\u003e\u003cpara\u003eSignature hash method \u003d SHA256\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":114,"context_line":"             \u003clistitem\u003e\u003cpara\u003eSignature key type \u003d RSA-PSS\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":115,"context_line":"             \u003clistitem\u003e\u003cpara\u003eMask gen algorithm \u003d MGF1\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":116,"context_line":"             \u003clistitem\u003e\u003cpara\u003ePSS salt length \u003d 94 (maximum default based on key size and hash method)\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":117,"context_line":"          \u003c/itemizedlist\u003e"},{"line_number":118,"context_line":"          Note that the padding.PSS.MAX_LENGTH is used to determine"},{"line_number":119,"context_line":"          the maximum length of the salt based on the other parameters."}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_7856df07","line":116,"range":{"start_line":115,"start_character":13,"end_line":116,"end_character":119},"in_reply_to":"9a68dd71_16f78bf6","updated":"2016-01-26 22:46:31.000000000","message":"Done","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"c455e874d90699180b06f2e168ec4b930eac2659","unresolved":false,"context_lines":[{"line_number":115,"context_line":"             \u003clistitem\u003e\u003cpara\u003eMask gen algorithm \u003d MGF1\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":116,"context_line":"             \u003clistitem\u003e\u003cpara\u003ePSS salt length \u003d 94 (maximum default based on key size and hash method)\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":117,"context_line":"          \u003c/itemizedlist\u003e"},{"line_number":118,"context_line":"          Note that the padding.PSS.MAX_LENGTH is used to determine"},{"line_number":119,"context_line":"          the maximum length of the salt based on the other parameters."},{"line_number":120,"context_line":"          The signature verification uses this value by default if none"},{"line_number":121,"context_line":"          is provided.\u003c/para\u003e"},{"line_number":122,"context_line":"        \u003c/note\u003e"},{"line_number":123,"context_line":"        \u003cpara\u003eGenerate signature of image:\u003c/para\u003e"},{"line_number":124,"context_line":"        \u003cscreen\u003e\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003eopenssl dgst -sha256 -sign private-key.pem -sigopt rsa_padding_mode:\\"}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_4c649448","line":121,"range":{"start_line":118,"start_character":10,"end_line":121,"end_character":22},"updated":"2016-01-26 16:05:34.000000000","message":"I think this information can also be removed based on Brianna\u0027s comment above.","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"9b814d7e8d03a014d851a4ac47be704064be9846","unresolved":false,"context_lines":[{"line_number":115,"context_line":"             \u003clistitem\u003e\u003cpara\u003eMask gen algorithm \u003d MGF1\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":116,"context_line":"             \u003clistitem\u003e\u003cpara\u003ePSS salt length \u003d 94 (maximum default based on key size and hash method)\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":117,"context_line":"          \u003c/itemizedlist\u003e"},{"line_number":118,"context_line":"          Note that the padding.PSS.MAX_LENGTH is used to determine"},{"line_number":119,"context_line":"          the maximum length of the salt based on the other parameters."},{"line_number":120,"context_line":"          The signature verification uses this value by default if none"},{"line_number":121,"context_line":"          is provided.\u003c/para\u003e"},{"line_number":122,"context_line":"        \u003c/note\u003e"},{"line_number":123,"context_line":"        \u003cpara\u003eGenerate signature of image:\u003c/para\u003e"},{"line_number":124,"context_line":"        \u003cscreen\u003e\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003eopenssl dgst -sha256 -sign private-key.pem -sigopt rsa_padding_mode:\\"}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_985b932e","line":121,"range":{"start_line":118,"start_character":10,"end_line":121,"end_character":22},"in_reply_to":"9a68dd71_4c649448","updated":"2016-01-26 22:46:31.000000000","message":"Done","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"e6b058c7904953aa3e31449688f191caea4072e4","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        \u003cscreen\u003e\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003epython"},{"line_number":134,"context_line":"\u0026gt;\u0026gt;\u0026gt; from keystoneclient.v3 import client"},{"line_number":135,"context_line":"\u0026gt;\u0026gt;\u0026gt; keystone_client \u003d client.Client(username\u003d\u0027demo\u0027,"},{"line_number":136,"context_line":"                                user_domain_name\u003d\u0027Default\u0027,"},{"line_number":137,"context_line":"                                password\u003d\u0027password\u0027,"},{"line_number":138,"context_line":"                                project_name\u003d\u0027demo\u0027,"},{"line_number":139,"context_line":"                                auth_url\u003d\u0027http://localhost:5000/v3\u0027)"}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_d66ed395","line":136,"range":{"start_line":136,"start_character":32,"end_line":136,"end_character":36},"updated":"2016-01-26 15:30:11.000000000","message":"The spacing should be such that \"username\" and \"user_domain_name\" start at the same line","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"9b814d7e8d03a014d851a4ac47be704064be9846","unresolved":false,"context_lines":[{"line_number":133,"context_line":"        \u003cscreen\u003e\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003epython"},{"line_number":134,"context_line":"\u0026gt;\u0026gt;\u0026gt; from keystoneclient.v3 import client"},{"line_number":135,"context_line":"\u0026gt;\u0026gt;\u0026gt; keystone_client \u003d client.Client(username\u003d\u0027demo\u0027,"},{"line_number":136,"context_line":"                                user_domain_name\u003d\u0027Default\u0027,"},{"line_number":137,"context_line":"                                password\u003d\u0027password\u0027,"},{"line_number":138,"context_line":"                                project_name\u003d\u0027demo\u0027,"},{"line_number":139,"context_line":"                                auth_url\u003d\u0027http://localhost:5000/v3\u0027)"}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_3841473a","line":136,"range":{"start_line":136,"start_character":32,"end_line":136,"end_character":36},"in_reply_to":"9a68dd71_d66ed395","updated":"2016-01-26 22:46:31.000000000","message":"Done","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"e6b058c7904953aa3e31449688f191caea4072e4","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"\u0026gt;\u0026gt;\u0026gt; from oslo_context import context"},{"line_number":142,"context_line":"\u0026gt;\u0026gt;\u0026gt; context \u003d context.RequestContext(auth_token\u003dkeystone_client.auth_token,\\"},{"line_number":143,"context_line":"             tenant\u003dkeystone_client.project_id)\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":144,"context_line":"      \u003c/step\u003e"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"      \u003cstep\u003e\u003cpara\u003eUpload cert using context\u003c/para\u003e"}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_16130b0f","line":143,"range":{"start_line":143,"start_character":13,"end_line":143,"end_character":19},"updated":"2016-01-26 15:30:11.000000000","message":"\"tenant\" should start at the same line as \"auth_token\"","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"9b814d7e8d03a014d851a4ac47be704064be9846","unresolved":false,"context_lines":[{"line_number":140,"context_line":""},{"line_number":141,"context_line":"\u0026gt;\u0026gt;\u0026gt; from oslo_context import context"},{"line_number":142,"context_line":"\u0026gt;\u0026gt;\u0026gt; context \u003d context.RequestContext(auth_token\u003dkeystone_client.auth_token,\\"},{"line_number":143,"context_line":"             tenant\u003dkeystone_client.project_id)\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":144,"context_line":"      \u003c/step\u003e"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"      \u003cstep\u003e\u003cpara\u003eUpload cert using context\u003c/para\u003e"}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_f84acf54","line":143,"range":{"start_line":143,"start_character":13,"end_line":143,"end_character":19},"in_reply_to":"9a68dd71_16130b0f","updated":"2016-01-26 22:46:31.000000000","message":"Done","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"e6b058c7904953aa3e31449688f191caea4072e4","unresolved":false,"context_lines":[{"line_number":192,"context_line":"--property is-public\u003dtrue\\"},{"line_number":193,"context_line":"--container-format bare\\"},{"line_number":194,"context_line":"--disk-format qcow2\\"},{"line_number":195,"context_line":"--propertysignature\u003d\u0027c4br5f3FYQV6Nu20cRUSnx75R/VcW3diQdsUN2nhPw+UcQRDoGx92hwM"},{"line_number":196,"context_line":"gRxzFYeUyydRTWCcUS2ZLudPR9X7rMTHFInA54Zj1TwEIbJTkHwlqbWBMU4+k5IUIjXxHO6RuH3Z5f/"},{"line_number":197,"context_line":"SlSt7ajsNVXaIclWqIw5YvEkgXTIEuDPE+C4\u003d\u0027\\"},{"line_number":198,"context_line":"--property signature_certificate_uuid\u003d\u002762a33f41-f061-44ba-9a69-4fc247d3bfce\u0027\\"}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_96c4db5f","line":195,"range":{"start_line":195,"start_character":2,"end_line":195,"end_character":19},"updated":"2016-01-26 15:30:11.000000000","message":"property img_signature\n\nThere should be a space, and the property names now start with \"img_\"","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"9b814d7e8d03a014d851a4ac47be704064be9846","unresolved":false,"context_lines":[{"line_number":192,"context_line":"--property is-public\u003dtrue\\"},{"line_number":193,"context_line":"--container-format bare\\"},{"line_number":194,"context_line":"--disk-format qcow2\\"},{"line_number":195,"context_line":"--propertysignature\u003d\u0027c4br5f3FYQV6Nu20cRUSnx75R/VcW3diQdsUN2nhPw+UcQRDoGx92hwM"},{"line_number":196,"context_line":"gRxzFYeUyydRTWCcUS2ZLudPR9X7rMTHFInA54Zj1TwEIbJTkHwlqbWBMU4+k5IUIjXxHO6RuH3Z5f/"},{"line_number":197,"context_line":"SlSt7ajsNVXaIclWqIw5YvEkgXTIEuDPE+C4\u003d\u0027\\"},{"line_number":198,"context_line":"--property signature_certificate_uuid\u003d\u002762a33f41-f061-44ba-9a69-4fc247d3bfce\u0027\\"}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_1848035b","line":195,"range":{"start_line":195,"start_character":2,"end_line":195,"end_character":19},"in_reply_to":"9a68dd71_96c4db5f","updated":"2016-01-26 22:46:31.000000000","message":"Done","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"e6b058c7904953aa3e31449688f191caea4072e4","unresolved":false,"context_lines":[{"line_number":195,"context_line":"--propertysignature\u003d\u0027c4br5f3FYQV6Nu20cRUSnx75R/VcW3diQdsUN2nhPw+UcQRDoGx92hwM"},{"line_number":196,"context_line":"gRxzFYeUyydRTWCcUS2ZLudPR9X7rMTHFInA54Zj1TwEIbJTkHwlqbWBMU4+k5IUIjXxHO6RuH3Z5f/"},{"line_number":197,"context_line":"SlSt7ajsNVXaIclWqIw5YvEkgXTIEuDPE+C4\u003d\u0027\\"},{"line_number":198,"context_line":"--property signature_certificate_uuid\u003d\u002762a33f41-f061-44ba-9a69-4fc247d3bfce\u0027\\"},{"line_number":199,"context_line":"--property signature_hash_method\u003d\u0027SHA-256\u0027\\"},{"line_number":200,"context_line":"--property signature_key_type\u003d\u0027RSA-PSS\u0027\\"},{"line_number":201,"context_line":"--property mask_gen_algorithm\u003d\u0027MGF1\u0027\\"}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_d6e33304","line":198,"range":{"start_line":198,"start_character":11,"end_line":198,"end_character":37},"updated":"2016-01-26 15:30:11.000000000","message":"img_signature_certificate_uuid","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"9b814d7e8d03a014d851a4ac47be704064be9846","unresolved":false,"context_lines":[{"line_number":195,"context_line":"--propertysignature\u003d\u0027c4br5f3FYQV6Nu20cRUSnx75R/VcW3diQdsUN2nhPw+UcQRDoGx92hwM"},{"line_number":196,"context_line":"gRxzFYeUyydRTWCcUS2ZLudPR9X7rMTHFInA54Zj1TwEIbJTkHwlqbWBMU4+k5IUIjXxHO6RuH3Z5f/"},{"line_number":197,"context_line":"SlSt7ajsNVXaIclWqIw5YvEkgXTIEuDPE+C4\u003d\u0027\\"},{"line_number":198,"context_line":"--property signature_certificate_uuid\u003d\u002762a33f41-f061-44ba-9a69-4fc247d3bfce\u0027\\"},{"line_number":199,"context_line":"--property signature_hash_method\u003d\u0027SHA-256\u0027\\"},{"line_number":200,"context_line":"--property signature_key_type\u003d\u0027RSA-PSS\u0027\\"},{"line_number":201,"context_line":"--property mask_gen_algorithm\u003d\u0027MGF1\u0027\\"}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_d8782b92","line":198,"range":{"start_line":198,"start_character":11,"end_line":198,"end_character":37},"in_reply_to":"9a68dd71_d6e33304","updated":"2016-01-26 22:46:31.000000000","message":"Done","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"e6b058c7904953aa3e31449688f191caea4072e4","unresolved":false,"context_lines":[{"line_number":196,"context_line":"gRxzFYeUyydRTWCcUS2ZLudPR9X7rMTHFInA54Zj1TwEIbJTkHwlqbWBMU4+k5IUIjXxHO6RuH3Z5f/"},{"line_number":197,"context_line":"SlSt7ajsNVXaIclWqIw5YvEkgXTIEuDPE+C4\u003d\u0027\\"},{"line_number":198,"context_line":"--property signature_certificate_uuid\u003d\u002762a33f41-f061-44ba-9a69-4fc247d3bfce\u0027\\"},{"line_number":199,"context_line":"--property signature_hash_method\u003d\u0027SHA-256\u0027\\"},{"line_number":200,"context_line":"--property signature_key_type\u003d\u0027RSA-PSS\u0027\\"},{"line_number":201,"context_line":"--property mask_gen_algorithm\u003d\u0027MGF1\u0027\\"},{"line_number":202,"context_line":"--property pss_salt_length\u003d94\\"}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_b6947f44","line":199,"range":{"start_line":199,"start_character":11,"end_line":199,"end_character":32},"updated":"2016-01-26 15:30:11.000000000","message":"img_signature_hash_method","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"9b814d7e8d03a014d851a4ac47be704064be9846","unresolved":false,"context_lines":[{"line_number":196,"context_line":"gRxzFYeUyydRTWCcUS2ZLudPR9X7rMTHFInA54Zj1TwEIbJTkHwlqbWBMU4+k5IUIjXxHO6RuH3Z5f/"},{"line_number":197,"context_line":"SlSt7ajsNVXaIclWqIw5YvEkgXTIEuDPE+C4\u003d\u0027\\"},{"line_number":198,"context_line":"--property signature_certificate_uuid\u003d\u002762a33f41-f061-44ba-9a69-4fc247d3bfce\u0027\\"},{"line_number":199,"context_line":"--property signature_hash_method\u003d\u0027SHA-256\u0027\\"},{"line_number":200,"context_line":"--property signature_key_type\u003d\u0027RSA-PSS\u0027\\"},{"line_number":201,"context_line":"--property mask_gen_algorithm\u003d\u0027MGF1\u0027\\"},{"line_number":202,"context_line":"--property pss_salt_length\u003d94\\"}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_386867ba","line":199,"range":{"start_line":199,"start_character":11,"end_line":199,"end_character":32},"in_reply_to":"9a68dd71_b6947f44","updated":"2016-01-26 22:46:31.000000000","message":"Done","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"e6b058c7904953aa3e31449688f191caea4072e4","unresolved":false,"context_lines":[{"line_number":197,"context_line":"SlSt7ajsNVXaIclWqIw5YvEkgXTIEuDPE+C4\u003d\u0027\\"},{"line_number":198,"context_line":"--property signature_certificate_uuid\u003d\u002762a33f41-f061-44ba-9a69-4fc247d3bfce\u0027\\"},{"line_number":199,"context_line":"--property signature_hash_method\u003d\u0027SHA-256\u0027\\"},{"line_number":200,"context_line":"--property signature_key_type\u003d\u0027RSA-PSS\u0027\\"},{"line_number":201,"context_line":"--property mask_gen_algorithm\u003d\u0027MGF1\u0027\\"},{"line_number":202,"context_line":"--property pss_salt_length\u003d94\\"},{"line_number":203,"context_line":"\u0026lt; ~/cirros-0.3.4-x86_64-disk.img\u003c/userinput\u003e\u003c/screen\u003e"}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_96edbbf1","line":200,"range":{"start_line":200,"start_character":11,"end_line":200,"end_character":29},"updated":"2016-01-26 15:30:11.000000000","message":"img_signature_key_type","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"9b814d7e8d03a014d851a4ac47be704064be9846","unresolved":false,"context_lines":[{"line_number":197,"context_line":"SlSt7ajsNVXaIclWqIw5YvEkgXTIEuDPE+C4\u003d\u0027\\"},{"line_number":198,"context_line":"--property signature_certificate_uuid\u003d\u002762a33f41-f061-44ba-9a69-4fc247d3bfce\u0027\\"},{"line_number":199,"context_line":"--property signature_hash_method\u003d\u0027SHA-256\u0027\\"},{"line_number":200,"context_line":"--property signature_key_type\u003d\u0027RSA-PSS\u0027\\"},{"line_number":201,"context_line":"--property mask_gen_algorithm\u003d\u0027MGF1\u0027\\"},{"line_number":202,"context_line":"--property pss_salt_length\u003d94\\"},{"line_number":203,"context_line":"\u0026lt; ~/cirros-0.3.4-x86_64-disk.img\u003c/userinput\u003e\u003c/screen\u003e"}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_f8616fd4","line":200,"range":{"start_line":200,"start_character":11,"end_line":200,"end_character":29},"in_reply_to":"9a68dd71_96edbbf1","updated":"2016-01-26 22:46:31.000000000","message":"Done","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"e6b058c7904953aa3e31449688f191caea4072e4","unresolved":false,"context_lines":[{"line_number":198,"context_line":"--property signature_certificate_uuid\u003d\u002762a33f41-f061-44ba-9a69-4fc247d3bfce\u0027\\"},{"line_number":199,"context_line":"--property signature_hash_method\u003d\u0027SHA-256\u0027\\"},{"line_number":200,"context_line":"--property signature_key_type\u003d\u0027RSA-PSS\u0027\\"},{"line_number":201,"context_line":"--property mask_gen_algorithm\u003d\u0027MGF1\u0027\\"},{"line_number":202,"context_line":"--property pss_salt_length\u003d94\\"},{"line_number":203,"context_line":"\u0026lt; ~/cirros-0.3.4-x86_64-disk.img\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":204,"context_line":"      \u003c/step\u003e"},{"line_number":205,"context_line":""}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_d61c9315","line":202,"range":{"start_line":201,"start_character":0,"end_line":202,"end_character":30},"updated":"2016-01-26 15:30:11.000000000","message":"These should be deleted -- they are no longer valid properties.","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"9b814d7e8d03a014d851a4ac47be704064be9846","unresolved":false,"context_lines":[{"line_number":198,"context_line":"--property signature_certificate_uuid\u003d\u002762a33f41-f061-44ba-9a69-4fc247d3bfce\u0027\\"},{"line_number":199,"context_line":"--property signature_hash_method\u003d\u0027SHA-256\u0027\\"},{"line_number":200,"context_line":"--property signature_key_type\u003d\u0027RSA-PSS\u0027\\"},{"line_number":201,"context_line":"--property mask_gen_algorithm\u003d\u0027MGF1\u0027\\"},{"line_number":202,"context_line":"--property pss_salt_length\u003d94\\"},{"line_number":203,"context_line":"\u0026lt; ~/cirros-0.3.4-x86_64-disk.img\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":204,"context_line":"      \u003c/step\u003e"},{"line_number":205,"context_line":""}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_b89a17c4","line":202,"range":{"start_line":201,"start_character":0,"end_line":202,"end_character":30},"in_reply_to":"9a68dd71_d61c9315","updated":"2016-01-26 22:46:31.000000000","message":"Done","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"e6b058c7904953aa3e31449688f191caea4072e4","unresolved":false,"context_lines":[{"line_number":203,"context_line":"\u0026lt; ~/cirros-0.3.4-x86_64-disk.img\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":204,"context_line":"      \u003c/step\u003e"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"      \u003cstep\u003e\u003cpara\u003eCheck log file to verify the signed image\u003c/para\u003e"},{"line_number":207,"context_line":"        \u003cscreen\u003e \u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003egrep \"Successfully verified signature for image\" /opt/stack/logs/g-api.log..."},{"line_number":208,"context_line":" Successfully verified signature for image...\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":209,"context_line":"      \u003c/step\u003e"},{"line_number":210,"context_line":"    \u003c/procedure\u003e"},{"line_number":211,"context_line":"  \u003c/section\u003e"},{"line_number":212,"context_line":""}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_56bae3c1","line":209,"range":{"start_line":206,"start_character":0,"end_line":209,"end_character":13},"updated":"2016-01-26 15:30:11.000000000","message":"This functionality has not yet been added to the Image service in mitaka -- no verification will occur until an image has been booted.  These lines should be removed.","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"c455e874d90699180b06f2e168ec4b930eac2659","unresolved":false,"context_lines":[{"line_number":203,"context_line":"\u0026lt; ~/cirros-0.3.4-x86_64-disk.img\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":204,"context_line":"      \u003c/step\u003e"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"      \u003cstep\u003e\u003cpara\u003eCheck log file to verify the signed image\u003c/para\u003e"},{"line_number":207,"context_line":"        \u003cscreen\u003e \u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003egrep \"Successfully verified signature for image\" /opt/stack/logs/g-api.log..."},{"line_number":208,"context_line":" Successfully verified signature for image...\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":209,"context_line":"      \u003c/step\u003e"},{"line_number":210,"context_line":"    \u003c/procedure\u003e"},{"line_number":211,"context_line":"  \u003c/section\u003e"},{"line_number":212,"context_line":""}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_a7c3eb89","line":209,"range":{"start_line":206,"start_character":0,"end_line":209,"end_character":13},"in_reply_to":"9a68dd71_56bae3c1","updated":"2016-01-26 16:05:34.000000000","message":"In addition to the prior comment, logs may be available to operators but certainly not ordinary users. Is it reasonable for a log file to be the only means of validation?","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"9b814d7e8d03a014d851a4ac47be704064be9846","unresolved":false,"context_lines":[{"line_number":203,"context_line":"\u0026lt; ~/cirros-0.3.4-x86_64-disk.img\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":204,"context_line":"      \u003c/step\u003e"},{"line_number":205,"context_line":""},{"line_number":206,"context_line":"      \u003cstep\u003e\u003cpara\u003eCheck log file to verify the signed image\u003c/para\u003e"},{"line_number":207,"context_line":"        \u003cscreen\u003e \u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003egrep \"Successfully verified signature for image\" /opt/stack/logs/g-api.log..."},{"line_number":208,"context_line":" Successfully verified signature for image...\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":209,"context_line":"      \u003c/step\u003e"},{"line_number":210,"context_line":"    \u003c/procedure\u003e"},{"line_number":211,"context_line":"  \u003c/section\u003e"},{"line_number":212,"context_line":""}],"source_content_type":"application/xml","patch_set":5,"id":"9a68dd71_9813930d","line":209,"range":{"start_line":206,"start_character":0,"end_line":209,"end_character":13},"in_reply_to":"9a68dd71_a7c3eb89","updated":"2016-01-26 22:46:31.000000000","message":"Done - I removed this verification since it\u0027s not implemented. I think in the future there should be some way for the end user to verify the signature, and not just the operator.","commit_id":"fc10c7f773cf744bf0109c31c6178f98a834c1e2"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"e8d493be27f48f2e36b28fe151bea9b2c9562b43","unresolved":false,"context_lines":[{"line_number":103,"context_line":"          \u003cpara\u003eThe following implicit values are being used to create the"},{"line_number":104,"context_line":"          signature in this example:"},{"line_number":105,"context_line":"          \u003citemizedlist\u003e"},{"line_number":106,"context_line":"             \u003clistitem\u003e\u003cpara\u003eSignature hash method \u003d SHA256\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":107,"context_line":"             \u003clistitem\u003e\u003cpara\u003eSignature key type \u003d RSA-PSS\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":108,"context_line":"          \u003c/itemizedlist\u003e"},{"line_number":109,"context_line":"          \u003c/para\u003e"}],"source_content_type":"application/xml","patch_set":7,"id":"9a68dd71_1b1d5dbd","line":106,"range":{"start_line":106,"start_character":53,"end_line":106,"end_character":59},"updated":"2016-01-26 23:30:26.000000000","message":"This should be \"SHA-256\" instead.\n\nValid values are:\n\nSHA-224\nSHA-256\nSHA-384\nSHA-512","commit_id":"03ef20d07bc4cab6a4025d395f941e17f2c4d351"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"6bee8c2758f3b88f0fae45db581d7275b5dc5423","unresolved":false,"context_lines":[{"line_number":103,"context_line":"          \u003cpara\u003eThe following implicit values are being used to create the"},{"line_number":104,"context_line":"          signature in this example:"},{"line_number":105,"context_line":"          \u003citemizedlist\u003e"},{"line_number":106,"context_line":"             \u003clistitem\u003e\u003cpara\u003eSignature hash method \u003d SHA256\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":107,"context_line":"             \u003clistitem\u003e\u003cpara\u003eSignature key type \u003d RSA-PSS\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":108,"context_line":"          \u003c/itemizedlist\u003e"},{"line_number":109,"context_line":"          \u003c/para\u003e"}],"source_content_type":"application/xml","patch_set":7,"id":"9a68dd71_c9305fa1","line":106,"range":{"start_line":106,"start_character":53,"end_line":106,"end_character":59},"in_reply_to":"9a68dd71_1b1d5dbd","updated":"2016-01-27 00:25:04.000000000","message":"Done","commit_id":"03ef20d07bc4cab6a4025d395f941e17f2c4d351"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"e8d493be27f48f2e36b28fe151bea9b2c9562b43","unresolved":false,"context_lines":[{"line_number":127,"context_line":"                                    auth_url\u003d\u0027http://localhost:5000/v3\u0027)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"\u0026gt;\u0026gt;\u0026gt; from oslo_context import context"},{"line_number":130,"context_line":"\u0026gt;\u0026gt;\u0026gt; context \u003d context.RequestContext(auth_token\u003dkeystone_client.auth_token,\\"},{"line_number":131,"context_line":"                                     tenant\u003dkeystone_client.project_id)\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":132,"context_line":"      \u003c/step\u003e"},{"line_number":133,"context_line":""}],"source_content_type":"application/xml","patch_set":7,"id":"9a68dd71_5e6503df","line":130,"range":{"start_line":130,"start_character":84,"end_line":130,"end_character":85},"updated":"2016-01-26 23:30:26.000000000","message":"There\u0027s a slash here, but not a slash on lines 123-126","commit_id":"03ef20d07bc4cab6a4025d395f941e17f2c4d351"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"6bee8c2758f3b88f0fae45db581d7275b5dc5423","unresolved":false,"context_lines":[{"line_number":127,"context_line":"                                    auth_url\u003d\u0027http://localhost:5000/v3\u0027)"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"\u0026gt;\u0026gt;\u0026gt; from oslo_context import context"},{"line_number":130,"context_line":"\u0026gt;\u0026gt;\u0026gt; context \u003d context.RequestContext(auth_token\u003dkeystone_client.auth_token,\\"},{"line_number":131,"context_line":"                                     tenant\u003dkeystone_client.project_id)\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":132,"context_line":"      \u003c/step\u003e"},{"line_number":133,"context_line":""}],"source_content_type":"application/xml","patch_set":7,"id":"9a68dd71_09e43739","line":130,"range":{"start_line":130,"start_character":84,"end_line":130,"end_character":85},"in_reply_to":"9a68dd71_5e6503df","updated":"2016-01-27 00:25:04.000000000","message":"Good catch.  The slash isn\u0027t needed for multi-line commands here since it\u0027s a python prompt (and not Linux).","commit_id":"03ef20d07bc4cab6a4025d395f941e17f2c4d351"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"e8d493be27f48f2e36b28fe151bea9b2c9562b43","unresolved":false,"context_lines":[{"line_number":136,"context_line":"\u0026gt;\u0026gt;\u0026gt; from cryptography import x509 as cryptography_x509"},{"line_number":137,"context_line":"\u0026gt;\u0026gt;\u0026gt; from cryptography.hazmat import backends"},{"line_number":138,"context_line":"\u0026gt;\u0026gt;\u0026gt; from cryptography.hazmat.primitives import serialization"},{"line_number":139,"context_line":"\u0026gt;\u0026gt;\u0026gt; with open(\"new_cert.crt\", \"rb\") as cert_file:"},{"line_number":140,"context_line":"\u0026gt;\u0026gt;\u0026gt;      cert \u003d cryptography_x509.load_pem_x509_certificate("},{"line_number":141,"context_line":"                  cert_file.read(),"},{"line_number":142,"context_line":"                  backend\u003dbackends.default_backend()"},{"line_number":143,"context_line":"                  )"},{"line_number":144,"context_line":"\u0026gt;\u0026gt;\u0026gt; certificate_der \u003d cert.public_bytes(encoding\u003dserialization.Encoding.DER)\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":145,"context_line":"      \u003c/step\u003e"},{"line_number":146,"context_line":""}],"source_content_type":"application/xml","patch_set":7,"id":"9a68dd71_9ea93be2","line":143,"range":{"start_line":139,"start_character":0,"end_line":143,"end_character":19},"updated":"2016-01-26 23:30:26.000000000","message":"this spacing looks a bit odd","commit_id":"03ef20d07bc4cab6a4025d395f941e17f2c4d351"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"6bee8c2758f3b88f0fae45db581d7275b5dc5423","unresolved":false,"context_lines":[{"line_number":136,"context_line":"\u0026gt;\u0026gt;\u0026gt; from cryptography import x509 as cryptography_x509"},{"line_number":137,"context_line":"\u0026gt;\u0026gt;\u0026gt; from cryptography.hazmat import backends"},{"line_number":138,"context_line":"\u0026gt;\u0026gt;\u0026gt; from cryptography.hazmat.primitives import serialization"},{"line_number":139,"context_line":"\u0026gt;\u0026gt;\u0026gt; with open(\"new_cert.crt\", \"rb\") as cert_file:"},{"line_number":140,"context_line":"\u0026gt;\u0026gt;\u0026gt;      cert \u003d cryptography_x509.load_pem_x509_certificate("},{"line_number":141,"context_line":"                  cert_file.read(),"},{"line_number":142,"context_line":"                  backend\u003dbackends.default_backend()"},{"line_number":143,"context_line":"                  )"},{"line_number":144,"context_line":"\u0026gt;\u0026gt;\u0026gt; certificate_der \u003d cert.public_bytes(encoding\u003dserialization.Encoding.DER)\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":145,"context_line":"      \u003c/step\u003e"},{"line_number":146,"context_line":""}],"source_content_type":"application/xml","patch_set":7,"id":"9a68dd71_29afbbe4","line":143,"range":{"start_line":139,"start_character":0,"end_line":143,"end_character":19},"in_reply_to":"9a68dd71_9ea93be2","updated":"2016-01-27 00:25:04.000000000","message":"You need to look at this with the rendered view, and looks good (at least to me.)","commit_id":"03ef20d07bc4cab6a4025d395f941e17f2c4d351"},{"author":{"_account_id":7012,"name":"Brianna Poulos","email":"Brianna.Poulos@jhuapl.edu","username":"brianna-poulos"},"change_message_id":"e8d493be27f48f2e36b28fe151bea9b2c9562b43","unresolved":false,"context_lines":[{"line_number":162,"context_line":"        the following are also used:"},{"line_number":163,"context_line":"          \u003citemizedlist\u003e"},{"line_number":164,"context_line":"            \u003clistitem\u003e"},{"line_number":165,"context_line":"              \u003cpara\u003eProperty signature uses the signature called signature_64\u003c/para\u003e"},{"line_number":166,"context_line":"            \u003c/listitem\u003e"},{"line_number":167,"context_line":"            \u003clistitem\u003e"},{"line_number":168,"context_line":"              \u003cpara\u003eimg_signature_certificate_uuid uses the value from cert_uuid in"}],"source_content_type":"application/xml","patch_set":7,"id":"9a68dd71_3bdb81ef","line":165,"range":{"start_line":165,"start_character":29,"end_line":165,"end_character":38},"updated":"2016-01-26 23:30:26.000000000","message":"This should be \"img_signature\" instead","commit_id":"03ef20d07bc4cab6a4025d395f941e17f2c4d351"},{"author":{"_account_id":6804,"name":"bruce-benjamin","email":"bruce.benjamin@jhuapl.edu","username":"bruce-benjamin"},"change_message_id":"6bee8c2758f3b88f0fae45db581d7275b5dc5423","unresolved":false,"context_lines":[{"line_number":162,"context_line":"        the following are also used:"},{"line_number":163,"context_line":"          \u003citemizedlist\u003e"},{"line_number":164,"context_line":"            \u003clistitem\u003e"},{"line_number":165,"context_line":"              \u003cpara\u003eProperty signature uses the signature called signature_64\u003c/para\u003e"},{"line_number":166,"context_line":"            \u003c/listitem\u003e"},{"line_number":167,"context_line":"            \u003clistitem\u003e"},{"line_number":168,"context_line":"              \u003cpara\u003eimg_signature_certificate_uuid uses the value from cert_uuid in"}],"source_content_type":"application/xml","patch_set":7,"id":"9a68dd71_a9fe4b03","line":165,"range":{"start_line":165,"start_character":29,"end_line":165,"end_character":38},"in_reply_to":"9a68dd71_3bdb81ef","updated":"2016-01-27 00:25:04.000000000","message":"Done","commit_id":"03ef20d07bc4cab6a4025d395f941e17f2c4d351"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"a90fcf31c30d2927c4ee182f9eacc9254c12cbf1","unresolved":false,"context_lines":[{"line_number":77,"context_line":"      \u003ctitle\u003eAdding Signed Images\u003c/title\u003e"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"      \u003cpara\u003eTo provide a chain of trust from an image source to the Image"},{"line_number":80,"context_line":"      service and Compute, a user can import signed images into the Image"},{"line_number":81,"context_line":"      serivce. Appropriate Image service properties need to be set to enable"},{"line_number":82,"context_line":"      signature verification.  Currently signature verification is provided"},{"line_number":83,"context_line":"      in Compute only, but an accompanying feature in the Image service is"}],"source_content_type":"application/xml","patch_set":8,"id":"7a5de9d1_6302d540","line":80,"updated":"2016-01-27 13:25:43.000000000","message":"IMO this sentence will sound better and be clearer if you break up the \"chain of trust\" more clearly into the two gaps it bridges. I.e. end user to image store, image store to compute service.","commit_id":"11b098462f601ec281fc023c9162e185fc873f17"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"a90fcf31c30d2927c4ee182f9eacc9254c12cbf1","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"      \u003cpara\u003eTo provide a chain of trust from an image source to the Image"},{"line_number":80,"context_line":"      service and Compute, a user can import signed images into the Image"},{"line_number":81,"context_line":"      serivce. Appropriate Image service properties need to be set to enable"},{"line_number":82,"context_line":"      signature verification.  Currently signature verification is provided"},{"line_number":83,"context_line":"      in Compute only, but an accompanying feature in the Image service is"},{"line_number":84,"context_line":"      targeted for Mitaka.\u003c/para\u003e"}],"source_content_type":"application/xml","patch_set":8,"id":"7a5de9d1_23db7d1d","line":81,"updated":"2016-01-27 13:25:43.000000000","message":"serivce -\u003e service","commit_id":"11b098462f601ec281fc023c9162e185fc873f17"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"a90fcf31c30d2927c4ee182f9eacc9254c12cbf1","unresolved":false,"context_lines":[{"line_number":79,"context_line":"      \u003cpara\u003eTo provide a chain of trust from an image source to the Image"},{"line_number":80,"context_line":"      service and Compute, a user can import signed images into the Image"},{"line_number":81,"context_line":"      serivce. Appropriate Image service properties need to be set to enable"},{"line_number":82,"context_line":"      signature verification.  Currently signature verification is provided"},{"line_number":83,"context_line":"      in Compute only, but an accompanying feature in the Image service is"},{"line_number":84,"context_line":"      targeted for Mitaka.\u003c/para\u003e"},{"line_number":85,"context_line":""}],"source_content_type":"application/xml","patch_set":8,"id":"7a5de9d1_43f9d94c","line":82,"updated":"2016-01-27 13:25:43.000000000","message":"Currently -\u003e Currently,","commit_id":"11b098462f601ec281fc023c9162e185fc873f17"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"a90fcf31c30d2927c4ee182f9eacc9254c12cbf1","unresolved":false,"context_lines":[{"line_number":84,"context_line":"      targeted for Mitaka.\u003c/para\u003e"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"      \u003cnote\u003e\u003cpara\u003ePrior to the steps below, an asymmetric keypair and certificate"},{"line_number":87,"context_line":"       must be created.  In this example, the created private key is called"},{"line_number":88,"context_line":"       private_key.pem and the created certificate is called new_cert.crt, and"},{"line_number":89,"context_line":"       both reside in the current directory. Also note that the image in this"},{"line_number":90,"context_line":"       example is cirros-0.3.4-x86_64-disk.img, but any image can be used.\u003c/para\u003e\u003c/note\u003e"}],"source_content_type":"application/xml","patch_set":8,"id":"7a5de9d1_86f6ffd5","line":87,"updated":"2016-01-27 13:25:43.000000000","message":"IMO \"generated\" sounds better than \"created\". Also, I don\u0027t think it\u0027s necessary to specify the \"created key\" or the \"created cert\". The previous sentence makes it clear that they\u0027ve been generated independently of the signature verification process.","commit_id":"11b098462f601ec281fc023c9162e185fc873f17"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"a90fcf31c30d2927c4ee182f9eacc9254c12cbf1","unresolved":false,"context_lines":[{"line_number":104,"context_line":"          signature in this example:"},{"line_number":105,"context_line":"          \u003citemizedlist\u003e"},{"line_number":106,"context_line":"             \u003clistitem\u003e\u003cpara\u003eSignature hash method \u003d SHA-256 (224, 384, and 512 are other options)\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":107,"context_line":"             \u003clistitem\u003e\u003cpara\u003eSignature key type \u003d RSA-PSS\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":108,"context_line":"          \u003c/itemizedlist\u003e"},{"line_number":109,"context_line":"          \u003c/para\u003e"},{"line_number":110,"context_line":"        \u003c/note\u003e"}],"source_content_type":"application/xml","patch_set":8,"id":"7a5de9d1_a13765e2","line":107,"updated":"2016-01-27 13:25:43.000000000","message":"If we\u0027re specifying all the supported hash methods, we might as well list all the supported key types: DSA, ECC_SECT571K1, ECC_SECT409K1, ECC_SECT571R1, ECC_SECT409R1, ECC_SECP521R1, ECC_SECP384R1, and RSA-PSS.","commit_id":"11b098462f601ec281fc023c9162e185fc873f17"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"a90fcf31c30d2927c4ee182f9eacc9254c12cbf1","unresolved":false,"context_lines":[{"line_number":108,"context_line":"          \u003c/itemizedlist\u003e"},{"line_number":109,"context_line":"          \u003c/para\u003e"},{"line_number":110,"context_line":"        \u003c/note\u003e"},{"line_number":111,"context_line":"        \u003cpara\u003eGenerate signature of image:\u003c/para\u003e"},{"line_number":112,"context_line":"        \u003cscreen\u003e\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003eopenssl dgst -sha256 -sign private_key.pem -sigopt rsa_padding_mode:\\"},{"line_number":113,"context_line":"        pss -out image-file.signature cirros-0.3.4-x86_64-disk.img\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":114,"context_line":"        \u003cscreen\u003e\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003ebase64 image-file.signature \u003e signature_64\u003c/userinput\u003e\u003c/screen\u003e"}],"source_content_type":"application/xml","patch_set":8,"id":"7a5de9d1_814b492b","line":111,"updated":"2016-01-27 13:25:43.000000000","message":"I think it\u0027s pretty apparent from this section that you need to convert your signature to a base64 representation, but I\u0027d still like a sentence or two saying that explicitly.","commit_id":"11b098462f601ec281fc023c9162e185fc873f17"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"a90fcf31c30d2927c4ee182f9eacc9254c12cbf1","unresolved":false,"context_lines":[{"line_number":159,"context_line":""},{"line_number":160,"context_line":"      \u003cnote\u003e"},{"line_number":161,"context_line":"        \u003cpara\u003eBesides the signature properties mentioned in section 2 above,"},{"line_number":162,"context_line":"        the following are also used:"},{"line_number":163,"context_line":"          \u003citemizedlist\u003e"},{"line_number":164,"context_line":"            \u003clistitem\u003e"},{"line_number":165,"context_line":"              \u003cpara\u003eProperty img_signature uses the signature called signature_64\u003c/para\u003e"}],"source_content_type":"application/xml","patch_set":8,"id":"7a5de9d1_a11d2511","line":162,"updated":"2016-01-27 13:25:43.000000000","message":"It might be redundant, but I\u0027d like a complete contiguous list of the necessary metadata properties somewhere in this doc.","commit_id":"11b098462f601ec281fc023c9162e185fc873f17"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"f74c76283fe073eacfd74bf7b8812cc830ea2232","unresolved":false,"context_lines":[{"line_number":85,"context_line":"      Mitaka.\u003c/para\u003e"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"      \u003cnote\u003e\u003cpara\u003ePrior to the steps below, an asymmetric keypair and certificate"},{"line_number":88,"context_line":"       must be generated.  In this example, theses are called private_key.pem and"},{"line_number":89,"context_line":"       new_cert.crt, repectively, and both reside in the current directory. Also"},{"line_number":90,"context_line":"       note that the image in this example is cirros-0.3.4-x86_64-disk.img, but"},{"line_number":91,"context_line":"       any image can be used.\u003c/para\u003e\u003c/note\u003e"}],"source_content_type":"application/xml","patch_set":9,"id":"7a5de9d1_582aea7f","line":88,"updated":"2016-01-28 14:24:12.000000000","message":"theses -\u003e these","commit_id":"ad30699396c2382a3029d8f9e4cd3bfcc20a5275"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"f74c76283fe073eacfd74bf7b8812cc830ea2232","unresolved":false,"context_lines":[{"line_number":94,"context_line":""},{"line_number":95,"context_line":"   \u003cprocedure\u003e"},{"line_number":96,"context_line":"      \u003cstep\u003e"},{"line_number":97,"context_line":"        \u003cpara\u003eRetrieve image for upload\u003c/para\u003e"},{"line_number":98,"context_line":"        \u003cscreen\u003e\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003ewget http://download.cirros-cloud.net/0.3.4/cirros-0.3.4-x86_64-disk.img \u003e cirros-0.3.4-x86_64-disk.img\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":99,"context_line":"      \u003c/step\u003e"},{"line_number":100,"context_line":""}],"source_content_type":"application/xml","patch_set":9,"id":"7a5de9d1_58866a66","line":97,"updated":"2016-01-28 14:24:12.000000000","message":"I\u0027ve been flip-flopping on whether or not including this step is strictly necessary. I think it\u0027s apparent that the user needs the image file in order to sign it, but that may just be my perspective.","commit_id":"ad30699396c2382a3029d8f9e4cd3bfcc20a5275"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"f74c76283fe073eacfd74bf7b8812cc830ea2232","unresolved":false,"context_lines":[{"line_number":105,"context_line":"          signature in this example:"},{"line_number":106,"context_line":"          \u003citemizedlist\u003e"},{"line_number":107,"context_line":"             \u003clistitem\u003e\u003cpara\u003eSignature hash method \u003d SHA-256 (224, 384, and 512 are other options)\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":108,"context_line":"             \u003clistitem\u003e\u003cpara\u003eSignature key type \u003d RSA-PSS\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":109,"context_line":"          \u003c/itemizedlist\u003e"},{"line_number":110,"context_line":"          \u003c/para\u003e"},{"line_number":111,"context_line":"        \u003c/note\u003e"}],"source_content_type":"application/xml","patch_set":9,"id":"7a5de9d1_f80f16df","line":108,"updated":"2016-01-28 14:24:12.000000000","message":"I suppose it\u0027s OK to leave this as just RSA-PSS for the time being. Initially, the Glance implementation may be a tad slower to support the ECC and DSA signatures that the Nova feature currently supports. We should hold out on adding the ECC and DSA key type strings to the documentation until both Glance and Nova support them.","commit_id":"ad30699396c2382a3029d8f9e4cd3bfcc20a5275"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"f74c76283fe073eacfd74bf7b8812cc830ea2232","unresolved":false,"context_lines":[{"line_number":132,"context_line":"                                     tenant\u003dkeystone_client.project_id)\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":133,"context_line":"      \u003c/step\u003e"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"      \u003cstep\u003e\u003cpara\u003eUpload cert using context\u003c/para\u003e"},{"line_number":136,"context_line":"         \u003cscreen\u003e\u003cuserinput\u003e"},{"line_number":137,"context_line":"\u0026gt;\u0026gt;\u0026gt; from cryptography import x509 as cryptography_x509"},{"line_number":138,"context_line":"\u0026gt;\u0026gt;\u0026gt; from cryptography.hazmat import backends"}],"source_content_type":"application/xml","patch_set":9,"id":"7a5de9d1_cb6e0296","line":135,"updated":"2016-01-28 14:24:12.000000000","message":"This title doesn\u0027t describe the following section of code; all we\u0027re doing in this section of code is creating a DER encoding of the certificate. I also think we should be consistent about using \u0027Certificate\u0027 instead of \u0027cert\u0027 in these section titles.","commit_id":"ad30699396c2382a3029d8f9e4cd3bfcc20a5275"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"f74c76283fe073eacfd74bf7b8812cc830ea2232","unresolved":false,"context_lines":[{"line_number":145,"context_line":"\u0026gt;\u0026gt;\u0026gt; certificate_der \u003d cert.public_bytes(encoding\u003dserialization.Encoding.DER)\u003c/userinput\u003e\u003c/screen\u003e"},{"line_number":146,"context_line":"      \u003c/step\u003e"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"      \u003cstep\u003e\u003cpara\u003eUpload Certificate in DER format to Castellan\u003c/para\u003e"},{"line_number":149,"context_line":"         \u003cscreen\u003e\u003cuserinput\u003e"},{"line_number":150,"context_line":"\u0026gt;\u0026gt;\u0026gt; from castellan.common.objects import x_509"},{"line_number":151,"context_line":"\u0026gt;\u0026gt;\u0026gt; from castellan import key_manager"}],"source_content_type":"application/xml","patch_set":9,"id":"7a5de9d1_2bd4761e","line":148,"updated":"2016-01-28 14:24:12.000000000","message":"The context object is used here for uploading. I think this title is fine, however.","commit_id":"ad30699396c2382a3029d8f9e4cd3bfcc20a5275"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"f74c76283fe073eacfd74bf7b8812cc830ea2232","unresolved":false,"context_lines":[{"line_number":173,"context_line":"            \u003c/listitem\u003e"},{"line_number":174,"context_line":"            \u003clistitem\u003e"},{"line_number":175,"context_line":"              \u003cpara\u003eimg_signature_key_type matches \u0027RSA-PSS\u0027 in section 2 above\u003c/para\u003e"},{"line_number":176,"context_line":"            \u003c/listitem\u003e"},{"line_number":177,"context_line":"          \u003c/itemizedlist\u003e"},{"line_number":178,"context_line":"        \u003c/para\u003e"},{"line_number":179,"context_line":"      \u003c/note\u003e"}],"source_content_type":"application/xml","patch_set":9,"id":"7a5de9d1_989b8272","line":176,"updated":"2016-01-28 14:24:12.000000000","message":"Thanks for adding this.","commit_id":"ad30699396c2382a3029d8f9e4cd3bfcc20a5275"},{"author":{"_account_id":15524,"name":"dane-fichter","email":"dane.fichter@jhuapl.edu","username":"dane-fichter"},"change_message_id":"f74c76283fe073eacfd74bf7b8812cc830ea2232","unresolved":false,"context_lines":[{"line_number":176,"context_line":"            \u003c/listitem\u003e"},{"line_number":177,"context_line":"          \u003c/itemizedlist\u003e"},{"line_number":178,"context_line":"        \u003c/para\u003e"},{"line_number":179,"context_line":"      \u003c/note\u003e"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"        \u003cscreen\u003e\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003esource openrc demo\u003c/userinput\u003e"},{"line_number":182,"context_line":"\u003cprompt\u003e$\u003c/prompt\u003e \u003cuserinput\u003eexport OS_IMAGE_API_VERSION\u003d2\u003c/userinput\u003e"}],"source_content_type":"application/xml","patch_set":9,"id":"7a5de9d1_7807a61c","line":179,"updated":"2016-01-28 14:24:12.000000000","message":"I believe we should add a clarification concerning WHEN the image signature verification occurs. We mention that Nova performs it, but we end with the Glance command line, which is a little unclear. I think we need to add the boot command or at least mention it, and say that the signature verification occurs when Nova downloads the image.","commit_id":"ad30699396c2382a3029d8f9e4cd3bfcc20a5275"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"1227c81655d01dafdf67566fd92a907a482b01c1","unresolved":false,"context_lines":[{"line_number":109,"context_line":"          \u003c/itemizedlist\u003e"},{"line_number":110,"context_line":"          \u003c/para\u003e"},{"line_number":111,"context_line":"        \u003c/note\u003e"},{"line_number":112,"context_line":"         \u003cnote\u003e"},{"line_number":113,"context_line":"          \u003cpara\u003eThe following options are currently supported:"},{"line_number":114,"context_line":"          \u003citemizedlist\u003e"},{"line_number":115,"context_line":"             \u003clistitem\u003e\u003cpara\u003eSignature hash methods: SHA-224, SHA-256, SHA-384, and SHA-512\u003c/para\u003e\u003c/listitem\u003e"}],"source_content_type":"application/xml","patch_set":10,"id":"dae33548_b53a9d96","line":112,"range":{"start_line":112,"start_character":8,"end_line":112,"end_character":9},"updated":"2016-02-16 14:20:24.000000000","message":"nit: ragged indentation","commit_id":"26ab918fc9bf38875056587011af7952aa4e1aac"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"1227c81655d01dafdf67566fd92a907a482b01c1","unresolved":false,"context_lines":[{"line_number":113,"context_line":"          \u003cpara\u003eThe following options are currently supported:"},{"line_number":114,"context_line":"          \u003citemizedlist\u003e"},{"line_number":115,"context_line":"             \u003clistitem\u003e\u003cpara\u003eSignature hash methods: SHA-224, SHA-256, SHA-384, and SHA-512\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":116,"context_line":"             \u003clistitem\u003e\u003cpara\u003eSignature key types: DSA, ECC_SECT571K1, ECC_SECT409K1, ECC_SECT571R1, ECC_SECT409R1, ECC_SECP521R1, ECC_SECP384R1, and RSA-PSS\u003c/para\u003e\u003c/listitem\u003e"},{"line_number":117,"context_line":"          \u003c/itemizedlist\u003e"},{"line_number":118,"context_line":"          \u003c/para\u003e"},{"line_number":119,"context_line":"        \u003c/note\u003e"}],"source_content_type":"application/xml","patch_set":10,"id":"dae33548_95779939","line":116,"updated":"2016-02-16 14:20:24.000000000","message":"nit: I think that the prior two lines should be wrapped to be consistent with other \u003cpara\u003e elements in this file.","commit_id":"26ab918fc9bf38875056587011af7952aa4e1aac"},{"author":{"_account_id":6802,"name":"Joel Coffman","email":"jmc7tp@gmail.com","username":"joel-coffman"},"change_message_id":"1227c81655d01dafdf67566fd92a907a482b01c1","unresolved":false,"context_lines":[{"line_number":203,"context_line":"      \u003c/step\u003e"},{"line_number":204,"context_line":"      \u003cstep\u003e\u003cpara\u003eSignature verification will occur when Compute boots the signed image\u003c/para\u003e"},{"line_number":205,"context_line":"      \u003cnote\u003e"},{"line_number":206,"context_line":"        \u003cpara\u003eAs of the Mitaka release, Compute supports instance signature validation. This is enabled by setting the verify_glance_signatures flag in nova.conf to TRUE. When enabled, Compute will automatically validate signed instances prior to its launch.\u003c/para\u003e"},{"line_number":207,"context_line":"      \u003c/note\u003e"},{"line_number":208,"context_line":"    \u003c/step\u003e"},{"line_number":209,"context_line":"    \u003c/procedure\u003e"}],"source_content_type":"application/xml","patch_set":10,"id":"dae33548_f5aee596","line":206,"updated":"2016-02-16 14:20:24.000000000","message":"nit: I think this line should be wrapped to be consistent with other \u003cpara\u003e elements.","commit_id":"26ab918fc9bf38875056587011af7952aa4e1aac"}]}
