{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":711663698,"defaultBranch":"main","name":"cert-utils","ownerLogin":"scottpass","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-10-29T23:40:57.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/144554677?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1701045629.0","currentOid":""},"activityList":{"items":[{"before":"b1362fa99f144cf213f9bd6af1a8438212065fa5","after":"1c04b68187bc62480a350db8611475a4cbc2ef85","ref":"refs/heads/main","pushedAt":"2023-11-27T00:40:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"},"commit":{"message":"Add VerifyDeviceSignature.","shortMessageHtmlLink":"Add VerifyDeviceSignature."}},{"before":"a04d5d38660d05dd3e4bfb148e1a0f48518ad101","after":"b1362fa99f144cf213f9bd6af1a8438212065fa5","ref":"refs/heads/main","pushedAt":"2023-11-10T18:10:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"},"commit":{"message":"Move envclave impl over to nm-host-client.","shortMessageHtmlLink":"Move envclave impl over to nm-host-client."}},{"before":"e2d983948064769f0e293f6608bbfeb2eceb621c","after":null,"ref":"refs/heads/scott-pr","pushedAt":"2023-11-05T20:34:40.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"}},{"before":"1dd07ff4b4ec89293190801b7682e9c2913a3134","after":"a04d5d38660d05dd3e4bfb148e1a0f48518ad101","ref":"refs/heads/main","pushedAt":"2023-11-05T20:34:39.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"},"commit":{"message":"Merge pull request #14 from scottpass/scott-pr\n\nRemove un-needed method.","shortMessageHtmlLink":"Merge pull request #14 from scottpass/scott-pr"}},{"before":null,"after":"e2d983948064769f0e293f6608bbfeb2eceb621c","ref":"refs/heads/scott-pr","pushedAt":"2023-11-05T20:34:22.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"},"commit":{"message":"Remove un-needed method.","shortMessageHtmlLink":"Remove un-needed method."}},{"before":"ae7cf206a992f7c80ac0b0ab81f587102de3ea79","after":null,"ref":"refs/heads/scott-pr","pushedAt":"2023-11-05T20:29:55.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"}},{"before":"dee95ae22ffb6b40f543373d71499d93e82cd7c9","after":"1dd07ff4b4ec89293190801b7682e9c2913a3134","ref":"refs/heads/main","pushedAt":"2023-11-05T20:29:54.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"},"commit":{"message":"Merge pull request #13 from scottpass/scott-pr\n\nRefactorings:","shortMessageHtmlLink":"Merge pull request #13 from scottpass/scott-pr"}},{"before":"84bea9e58589eca491e649c9d053c52006d75dbe","after":"ae7cf206a992f7c80ac0b0ab81f587102de3ea79","ref":"refs/heads/scott-pr","pushedAt":"2023-11-05T20:29:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"},"commit":{"message":"Refactorings:\n\n1. Use ECDSA representation for the EncryptionTarget extension.\n\n ECDH would better indicate intent (use this cert for ECDH, not for\n ECDSA). However, there are some complications. In particular:\n\n a. Golang uses ECDSA for the serialized representation of both key\n types. Parsing a serialized ECDH key always yields an ECDSA key.\n\n b. Golang supports converting an ECDSA key to an ECDH key, but not\n vice-versa.\n\n c. The Apple secure enclave ECIES implementation requires an X.963\n encoded ECDSA key. To produce that encoding we need the X and Y\n parameters for the key. Those are readly available inside the\n ecdsa.PublicKey struct, but are not available in the\n ecdh.PublicKey struct. To extract them from an ECDH key using\n the golang libraaries we would need to serialize the key to der,\n then parse it again. That would require situations were we were\n parsing ECDSA, converting to ECDH, then seralizing and reparsing\n to get back the ECDSA key. That's silly.\n\n So we use ECDSA for all the public representations of an ECC key,\n and just convert to ECDH right before executing key exchange.\n\n2. Add some missing doc comments.","shortMessageHtmlLink":"Refactorings:"}},{"before":"600697a0271973c3583e704fa581965a317e6608","after":"84bea9e58589eca491e649c9d053c52006d75dbe","ref":"refs/heads/scott-pr","pushedAt":"2023-11-05T20:28:06.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"},"commit":{"message":"Refactorings:\n\n1. Use ECDSA representation for the EncryptionTarget extension.\n\n ECDH would better indicate intent (use this cert for ECDH, not for ECDSA). However, there are some complications. In particular:\n\n a. Golang uses ECDSA for the serialized representation of both key types. Parsing a serialized ECDH key always yields an ECDSA key.\n\n b. Golang supports converting an ECDSA key to an ECDH key, but not vice-versa.\n\n c. The Apple secure enclave ECIES implementation requires an X.963\n encoded ECDSA key. To produce that encoding we need the X and Y\n parameters for the key. Those are readly available inside the\n ecdsa.PublicKey struct, but are not available in the\n ecdh.PublicKey struct. To extract them from an ECDH key using\n the golang libraaries we would need to serialize the key to der,\n then parse it again. That would require situations were we were\n parsing ECDSA, converting to ECDH, then seralizing and reparsing\n to get back the ECDSA key. That's silly.\n\n So we use ECDSA for all the public representations of an ECC key,\n and just convert to ECDH right before executing key exchange.\n\n2. Add some missing doc comments.","shortMessageHtmlLink":"Refactorings:"}},{"before":null,"after":"600697a0271973c3583e704fa581965a317e6608","ref":"refs/heads/scott-pr","pushedAt":"2023-11-05T20:27:15.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"},"commit":{"message":"Refactorings:\n\n1. Use ECDSA representation for the EncryptionTarget extension.\n\n ECDH would better indicate intent (use this cert for ECDH, not for ECDSA). However, there are some complications. In particular:\n\n a. Golang uses ECDSA for the serialized representation of both key types. Parsing a serialized ECDH key always yields an ECDSA key.\n b. Golang supports converting an ECDSA key to an ECDH key, but not vice-versa.\n c. The Apple secure enclave ECIES implementation requires an X.963\n encoded ECDSA key. To produce that encoding we need the X and Y\n parameters for the key. Those are readly available inside the\n ecdsa.PublicKey struct, but are not available in the\n ecdh.PublicKey struct. To extract them from an ECDH key using\n the golang libraaries we would need to serialize the key to der,\n then parse it again. That would require situations were we were\n parsing ECDSA, converting to ECDH, then seralizing and reparsing\n to get back the ECDSA key. That's silly.\n\n So we use ECDSA for all the public representations of an ECC key,\n and just convert to ECDH right before executing key exchange.\n\n2. Add some missing doc comments.","shortMessageHtmlLink":"Refactorings:"}},{"before":"1eab092a4fa63be6c941b3093a1e63f3ecc5e205","after":null,"ref":"refs/tags/v1.8.0","pushedAt":"2023-11-05T19:28:11.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"}},{"before":"75399f7b1ce4d003cb94791e4155245d4835bdd6","after":"dee95ae22ffb6b40f543373d71499d93e82cd7c9","ref":"refs/heads/main","pushedAt":"2023-11-05T19:27:56.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"},"commit":{"message":"Merge pull request #11 from scottpass/scott-pr\n\nCreate methods to create CA Cert and Device Cert templates.","shortMessageHtmlLink":"Merge pull request #11 from scottpass/scott-pr"}},{"before":"4d1cfd0e0b414e16a01d122dce3b57995f1165c3","after":null,"ref":"refs/heads/scott-pr","pushedAt":"2023-11-05T19:18:39.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"}},{"before":"dee95ae22ffb6b40f543373d71499d93e82cd7c9","after":"75399f7b1ce4d003cb94791e4155245d4835bdd6","ref":"refs/heads/main","pushedAt":"2023-11-05T19:18:39.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"},"commit":{"message":"Merge pull request #12 from scottpass/scott-pr\n\nRefactor CreateCACert and CreateDeviceCert to take a param struct.","shortMessageHtmlLink":"Merge pull request #12 from scottpass/scott-pr"}},{"before":null,"after":"4d1cfd0e0b414e16a01d122dce3b57995f1165c3","ref":"refs/heads/scott-pr","pushedAt":"2023-11-05T19:18:25.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"},"commit":{"message":"Refactor CreateCACert and CreateDeviceCert to take a param struct.","shortMessageHtmlLink":"Refactor CreateCACert and CreateDeviceCert to take a param struct."}},{"before":"c12bef556720b665d1a8f2f79ff4705f82f354c9","after":null,"ref":"refs/heads/scott-pr","pushedAt":"2023-11-04T18:25:48.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"}},{"before":"fd7b89eb99aa0875e60a02a5ca4f46850d165610","after":"dee95ae22ffb6b40f543373d71499d93e82cd7c9","ref":"refs/heads/main","pushedAt":"2023-11-04T18:25:47.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"},"commit":{"message":"Merge pull request #11 from scottpass/scott-pr\n\nCreate methods to create CA Cert and Device Cert templates.","shortMessageHtmlLink":"Merge pull request #11 from scottpass/scott-pr"}},{"before":null,"after":"c12bef556720b665d1a8f2f79ff4705f82f354c9","ref":"refs/heads/scott-pr","pushedAt":"2023-11-04T18:25:32.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"},"commit":{"message":"Create methods to create CA Cert and Device Cert templates.\n\nThese will be used to simplify unit tests for cert validation.","shortMessageHtmlLink":"Create methods to create CA Cert and Device Cert templates."}},{"before":"804dd004519ba1e9a0d04c6b5641cf76ec2523d0","after":null,"ref":"refs/heads/scott-pr","pushedAt":"2023-11-04T18:07:02.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"}},{"before":"6d5d71cfb3e6f83630716d8e4016ee8ffc82b5b0","after":"fd7b89eb99aa0875e60a02a5ca4f46850d165610","ref":"refs/heads/main","pushedAt":"2023-11-04T18:07:01.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"},"commit":{"message":"Merge pull request #10 from scottpass/scott-pr\n\nAdd ext key usage to device cert.","shortMessageHtmlLink":"Merge pull request #10 from scottpass/scott-pr"}},{"before":null,"after":"804dd004519ba1e9a0d04c6b5641cf76ec2523d0","ref":"refs/heads/scott-pr","pushedAt":"2023-11-04T18:06:41.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"},"commit":{"message":"Add ext key usage to device cert.","shortMessageHtmlLink":"Add ext key usage to device cert."}},{"before":"1de7924ee91e7bc5fa20553bac150cf880751853","after":null,"ref":"refs/heads/scott-pr","pushedAt":"2023-11-04T17:31:56.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"}},{"before":"4971049541e0ab389e9d43cfd597f8947cadea7d","after":"6d5d71cfb3e6f83630716d8e4016ee8ffc82b5b0","ref":"refs/heads/main","pushedAt":"2023-11-04T17:31:55.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"},"commit":{"message":"Merge pull request #9 from scottpass/scott-pr\n\nMark CA Name Constraints as Critical.","shortMessageHtmlLink":"Merge pull request #9 from scottpass/scott-pr"}},{"before":null,"after":"1de7924ee91e7bc5fa20553bac150cf880751853","ref":"refs/heads/scott-pr","pushedAt":"2023-11-04T17:31:43.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"},"commit":{"message":"Mark CA Name Constraints as Critical.","shortMessageHtmlLink":"Mark CA Name Constraints as Critical."}},{"before":"4971049541e0ab389e9d43cfd597f8947cadea7d","after":null,"ref":"refs/heads/scott-pr","pushedAt":"2023-11-04T16:56:06.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"}},{"before":null,"after":"4971049541e0ab389e9d43cfd597f8947cadea7d","ref":"refs/heads/scott-pr","pushedAt":"2023-11-04T16:55:48.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"},"commit":{"message":"Merge pull request #8 from scottpass/scott-pr\n\nMove crypto package from nm-host-client over to cert-utils.","shortMessageHtmlLink":"Merge pull request #8 from scottpass/scott-pr"}},{"before":"8ac341072db230c523213309fa2cc8c0c85d60ff","after":null,"ref":"refs/tags/1.5.0","pushedAt":"2023-11-04T16:55:21.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"}},{"before":"5e20b89f2a19091f221f05cbe5c1e09b75c5ec78","after":null,"ref":"refs/heads/scott-pr","pushedAt":"2023-11-04T16:54:41.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"}},{"before":"0512051b9ad2d6aa504378e02262e154be44422f","after":"4971049541e0ab389e9d43cfd597f8947cadea7d","ref":"refs/heads/main","pushedAt":"2023-11-04T16:54:40.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"},"commit":{"message":"Merge pull request #8 from scottpass/scott-pr\n\nMove crypto package from nm-host-client over to cert-utils.","shortMessageHtmlLink":"Merge pull request #8 from scottpass/scott-pr"}},{"before":null,"after":"5e20b89f2a19091f221f05cbe5c1e09b75c5ec78","ref":"refs/heads/scott-pr","pushedAt":"2023-11-04T16:54:29.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"scottwis","name":null,"path":"/scottwis","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/653404?s=80&v=4"},"commit":{"message":"Move crypto package from nm-host-client over to cert-utils.","shortMessageHtmlLink":"Move crypto package from nm-host-client over to cert-utils."}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADuC1NOQA","startCursor":null,"endCursor":null}},"title":"Activity ยท scottpass/cert-utils"}