diff --git a/README.rst b/README.rst index dbeecdbb8..47ca7e8f3 100644 --- a/README.rst +++ b/README.rst @@ -497,12 +497,12 @@ can manage the three sets of configurations for the three types of files: # KMS set A is used - path_regex: \.dev\.yaml$ kms: 'arn:aws:kms:us-west-2:927034868273:key/fe86dd69-4132-404c-ab86-4269956b4500,arn:aws:kms:us-west-2:361527076523:key/5052f06a-5d3f-489e-b86c-57201e06f31e+arn:aws:iam::361527076523:role/hiera-sops-prod' - pgp: '1022470DE3F0BC54BC6AB62DE05550BC07FB1A0A' + pgp: 'FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4' # prod files use KMS set B in the PROD IAM - path_regex: \.prod\.yaml$ kms: 'arn:aws:kms:us-west-2:361527076523:key/5052f06a-5d3f-489e-b86c-57201e06f31e+arn:aws:iam::361527076523:role/hiera-sops-prod,arn:aws:kms:eu-central-1:361527076523:key/cb1fab90-8d17-42a1-a9d8-334968904f94+arn:aws:iam::361527076523:role/hiera-sops-prod' - pgp: '1022470DE3F0BC54BC6AB62DE05550BC07FB1A0A' + pgp: 'FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4' # gcp files using GCP KMS - path_regex: \.gcp\.yaml$ @@ -512,7 +512,7 @@ can manage the three sets of configurations for the three types of files: # catchall that will encrypt the file using KMS set C # The absence of a path_regex means it will match everything - kms: 'arn:aws:kms:us-west-2:927034868273:key/fe86dd69-4132-404c-ab86-4269956b4500,arn:aws:kms:us-west-2:142069644989:key/846cfb17-373d-49b9-8baf-f36b04512e47,arn:aws:kms:us-west-2:361527076523:key/5052f06a-5d3f-489e-b86c-57201e06f31e' - pgp: '1022470DE3F0BC54BC6AB62DE05550BC07FB1A0A' + pgp: 'FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4' When creating any file under **mysecretrepo**, whether at the root or under a subdirectory, sops will recursively look for a ``.sops.yaml`` file. If one is @@ -535,16 +535,16 @@ The path_regex checks the full path of the encrypting file. Here is another exam # KMS set A is used - path_regex: .*/development/.* kms: 'arn:aws:kms:us-west-2:927034868273:key/fe86dd69-4132-404c-ab86-4269956b4500,arn:aws:kms:us-west-2:361527076523:key/5052f06a-5d3f-489e-b86c-57201e06f31e+arn:aws:iam::361527076523:role/hiera-sops-prod' - pgp: '1022470DE3F0BC54BC6AB62DE05550BC07FB1A0A' + pgp: 'FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4' # prod files use KMS set B in the PROD IAM - path_regex: .*/production/.* kms: 'arn:aws:kms:us-west-2:361527076523:key/5052f06a-5d3f-489e-b86c-57201e06f31e+arn:aws:iam::361527076523:role/hiera-sops-prod,arn:aws:kms:eu-central-1:361527076523:key/cb1fab90-8d17-42a1-a9d8-334968904f94+arn:aws:iam::361527076523:role/hiera-sops-prod' - pgp: '1022470DE3F0BC54BC6AB62DE05550BC07FB1A0A' + pgp: 'FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4' # other files use KMS set C - kms: 'arn:aws:kms:us-west-2:927034868273:key/fe86dd69-4132-404c-ab86-4269956b4500,arn:aws:kms:us-west-2:142069644989:key/846cfb17-373d-49b9-8baf-f36b04512e47,arn:aws:kms:us-west-2:361527076523:key/5052f06a-5d3f-489e-b86c-57201e06f31e' - pgp: '1022470DE3F0BC54BC6AB62DE05550BC07FB1A0A' + pgp: 'FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4' Creating a new file with the right keys is now as simple as diff --git a/functional-tests/.sops.yaml b/functional-tests/.sops.yaml index 77423925f..bea1766c4 100644 --- a/functional-tests/.sops.yaml +++ b/functional-tests/.sops.yaml @@ -2,21 +2,21 @@ creation_rules: - path_regex: test_roundtrip_keygroups.yaml key_groups: - pgp: - - 1022470DE3F0BC54BC6AB62DE05550BC07FB1A0A + - FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4 - pgp: - - 729D26A79482B5A20DEAD0A76945978B930DD7A2 + - D7229043384BCC60326C6FB9D8720D957C3D3074 - path_regex: test_roundtrip_keygroups_missing_decryption_key.yaml key_groups: - pgp: - - 1022470DE3F0BC54BC6AB62DE05550BC07FB1A0A + - FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4 - pgp: - - 620B9A4C96230B91E7473D20113D2B26EA0890C7 - - pgp: 1022470DE3F0BC54BC6AB62DE05550BC07FB1A0A + - B611A2F9F11D0FF82568805119F9B5DAEA91FF86 + - pgp: FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4 destination_rules: - s3_bucket: "sops-publish-functional-tests" s3_prefix: "functional-test/" path_regex: test_encrypt_publish_s3.json reencryption_rule: - pgp: 620B9A4C96230B91E7473D20113D2B26EA0890C7 + pgp: B611A2F9F11D0FF82568805119F9B5DAEA91FF86 - vault_path: "functional-test/" path_regex: test_encrypt_publish_vault.json diff --git a/functional-tests/res/comments.enc.yaml b/functional-tests/res/comments.enc.yaml index 45f620ab2..f28ea5d23 100644 --- a/functional-tests/res/comments.enc.yaml +++ b/functional-tests/res/comments.enc.yaml @@ -3,21 +3,25 @@ lorem: ENC[AES256_GCM,data:PhmSdTs=,iv:J5ugEWq6RfyNx+5zDXvcTdoQ18YYZkqesDED7LNzo dolor: ENC[AES256_GCM,data:IgvT,iv:wtPNYbDTARFE810PH6ldOLzCDcAjkB/dzPsZjpgHcko=,tag:zwE8P+AwO1hrHkgF6pTbZw==,type:str] sops: kms: [] + gcp_kms: [] + azure_kv: [] lastmodified: '2017-08-16T03:41:16Z' mac: ENC[AES256_GCM,data:3ngUnY2hkK6pkDbCeAnOHsi/M6bLnGk1vkd+EeGyN/efqJZmwH0+9hUdACNnwHzofIR6NbtCGZal+cSCuTGD4eDuqNV+LbwV1/EaaVZj9RktTNXq3STSXxfzYGoHV3NOMtBhq6sYhF0U72nunreCymm3QzOTylAa2HlmRs54axM=,iv:EMXphsMa+ELK8XXX3MDfFJe3jFgXzwCSwjxNR5ah14k=,tag:gakwLdPvwyihj+FkTG/2kQ==,type:str] pgp: - - created_at: '2017-08-16T03:41:16Z' - enc: |- + - created_at: '2019-08-29T21:52:32Z' + enc: | -----BEGIN PGP MESSAGE----- - wYwDEEVDpnzXnMABBAAlUcnNciv6rGJua/wmjVYBAHD95VT/M6cc8dg0bPR8XH5a - /GeM2RasBzX7ICuBijjesY9exsnrTkBK3/1XpAjygdiW5DciXmqRz/5nE4DLxH+w - nZvmnCmg8AdfPKxhr+eM+pKibiN4uEhsJggA9c2ACUQ/YMo4o04fLKZGXqGtT9Lg - AeRiZfM3ykiyHDbUQ3P9YAdL4fH44A3gpeHoGeBv4iBFFE7ge+XCby9rgN9Qa7NF - /Wahxm7U3RcwT6JSbNDHNCJtolEPeuCR5D2/Kc/2b30e6fLDnpbfSJXiRh4TbOG3 - rAA= - =7P04 + hQEMAyUpShfNkFB/AQgAlvpTj0NYqF4mQyIeM7wX2SHLb4U07/flpqDpp2W/30Pz + AHA7sYrgP0l8BrjT2kwtgCN0cdfoIHJudezrNjANp2P5TbP2b9kYYNxpehzB9PFj + FixnCS7Zp8WIt1yXr1TX+ANZoXLopVcRbMaQ5OdH7CN1pNQtMR+R3FR3X/IqKxiU + Do1YLaooRJICUC8LJw2Tb4K+lYnTSqd/HalLGym++ivFvdDB1Ya1GhT1FswXidXK + IRjsOVbxV0q5VeNOR0zxsheOvuHyCje16c7NXJtATJVWtTFABJB8u7CY5HhZSgq+ + rXJHyLHqVLzJ8E4WqHQkMNUlVcrqAz7glZ6xbAhfI9JeAYk5SuBOQOQ4yvASqH4K + b0N3+/abluBY7YPqKuRZBiEtmcYlZ+zIHuOTP1rD/7L5VY8CwE5U8SFlEqwM7nQJ + 6/vtl6qngOFjwt34WrhZzUfLPB/wRV/m1Qv2kr0RNA== + =Ykiw -----END PGP MESSAGE----- - fp: 1022470DE3F0BC54BC6AB62DE05550BC07FB1A0A + fp: FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4 unencrypted_suffix: _unencrypted - version: 2.0.9 \ No newline at end of file + version: 2.0.9 diff --git a/functional-tests/res/comments_unencrypted_comments.yaml b/functional-tests/res/comments_unencrypted_comments.yaml index f95ee50c5..86fa3aecc 100644 --- a/functional-tests/res/comments_unencrypted_comments.yaml +++ b/functional-tests/res/comments_unencrypted_comments.yaml @@ -1,23 +1,27 @@ -lorem: ENC[AES256_GCM,data:PhmSdTs=,iv:J5ugEWq6RfyNx+5zDXvcTdoQ18YYZkqesDED7LNzou4=,tag:0Qrom6J6aUnZMZzGz5XCxw==,type:str] +lorem: ENC[AES256_GCM,data:qVz4paM=,iv:0oGsaw71i3wZKmlyDl8uDhQT9XLvJt3oIyx514X44K8=,tag:acbMS613StWo1IVnKK+5uQ==,type:str] # this-is-a-comment -dolor: ENC[AES256_GCM,data:IgvT,iv:wtPNYbDTARFE810PH6ldOLzCDcAjkB/dzPsZjpgHcko=,tag:zwE8P+AwO1hrHkgF6pTbZw==,type:str] +dolor: ENC[AES256_GCM,data:21fI,iv:01LXdHZYwLTeyUB1YWIAM6KF8cPPVsw/RuQO+Ab4pgM=,tag:o1xnCIIoccWzdWxB2kZYKg==,type:str] sops: kms: [] - lastmodified: '2017-08-16T03:41:16Z' - mac: ENC[AES256_GCM,data:3ngUnY2hkK6pkDbCeAnOHsi/M6bLnGk1vkd+EeGyN/efqJZmwH0+9hUdACNnwHzofIR6NbtCGZal+cSCuTGD4eDuqNV+LbwV1/EaaVZj9RktTNXq3STSXxfzYGoHV3NOMtBhq6sYhF0U72nunreCymm3QzOTylAa2HlmRs54axM=,iv:EMXphsMa+ELK8XXX3MDfFJe3jFgXzwCSwjxNR5ah14k=,tag:gakwLdPvwyihj+FkTG/2kQ==,type:str] + gcp_kms: [] + azure_kv: [] + lastmodified: '2019-08-29T22:42:03Z' + mac: ENC[AES256_GCM,data:xKkcsqrAHxyqwgv+IVqx52AmrJdC607Dc/Ughna2e2UnnHteXTw7LGt4d0sSlw8LgjaXpa+T6lQ0MgnMPjgTEa20lbtVtauCDdRCnR7Z/Vdk7t7uLl94+STD7C1H6obnOe4fG6c2cUfDNHoeABLetti2ZBZOSZDkWQeCucLys/s=,iv:k9ODJLNYsBedQKMHcgn0KUXPlunOq5jDFH9BeJOyYRE=,tag:d+Ga71V+gijiWLFZ7BhQgg==,type:str] pgp: - - created_at: '2017-08-16T03:41:16Z' + - created_at: '2019-08-29T22:42:03Z' enc: |- -----BEGIN PGP MESSAGE----- - wYwDEEVDpnzXnMABBAAlUcnNciv6rGJua/wmjVYBAHD95VT/M6cc8dg0bPR8XH5a - /GeM2RasBzX7ICuBijjesY9exsnrTkBK3/1XpAjygdiW5DciXmqRz/5nE4DLxH+w - nZvmnCmg8AdfPKxhr+eM+pKibiN4uEhsJggA9c2ACUQ/YMo4o04fLKZGXqGtT9Lg - AeRiZfM3ykiyHDbUQ3P9YAdL4fH44A3gpeHoGeBv4iBFFE7ge+XCby9rgN9Qa7NF - /Wahxm7U3RcwT6JSbNDHNCJtolEPeuCR5D2/Kc/2b30e6fLDnpbfSJXiRh4TbOG3 - rAA= - =7P04 + wcBMAyUpShfNkFB/AQgAMgUtep3vurVXoOI1h4Ovr3YbYz+gRHAPGMAUdXQdX7az + fmh7Eq+6Eye2wpnAaogJ2RtIoYO1F/jkoQO74mgaLXNu/gtr8b6Ejc61sQSyjnjg + N9I50+Bh075TqzToZTo7gOwOlltMjA/UVGD0z+gPHP1MpcVpUvm7C0Ol5L0Co37O + UvLrQJjw1x6ktAawWokw910iX9usXiTj87fYvaqutNKRBfh1LI0Os2H8C9xpJu7q + I60NcqF7JQbAaaumRroQpF2K7RI1nt+qTshPqWzDLfjzlrCVPnJlxludqvHUKzR3 + TnJdb4Dsx3o/XEQkZxpl7RZa9SZZuKg3EejTxOj0ZtLgAeRLzLl0gSeMGvkntASq + NQkM4e1p4AjgJOEqrOCw4h0xtdrg9+UczwVpI4rnibRqJZtEhFHRaupX6leAEi1l + FMikSjpGSOB55PVMt6+e4ruokoulnq32VRTi07691uEeowA= + =ft04 -----END PGP MESSAGE----- - fp: 1022470DE3F0BC54BC6AB62DE05550BC07FB1A0A + fp: FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4 unencrypted_suffix: _unencrypted - version: 2.0.9 \ No newline at end of file + version: 3.3.1 diff --git a/functional-tests/res/multiple_keys.yaml b/functional-tests/res/multiple_keys.yaml index b7b604b41..9da4cc75a 100644 --- a/functional-tests/res/multiple_keys.yaml +++ b/functional-tests/res/multiple_keys.yaml @@ -1,34 +1,37 @@ -message: ENC[AES256_GCM,data:LEw770M=,iv:YwFnvFCDU1kRf0LRB2duTe+4qINzpSZrCiDTU/tUSug=,tag:N5TarWss2N1o9QGGPdC8kQ==,type:str] +message: ENC[AES256_GCM,data:4soxy1Q=,iv:GGOFFLu8aqMEyoOBdMGdevug7E0R8H0iDyXIKQ5ufzM=,tag:954eipkbSu2U64tx2usiBA==,type:str] sops: - lastmodified: '2017-09-02T17:36:53Z' - unencrypted_suffix: _unencrypted - mac: ENC[AES256_GCM,data:roj5h4cVmamV5IgNePrtsVh3pVP3nwAHhHZkwrHLC1A2xpCb/zGZv0Z9iB1O03fsb7nEfOpB70sePnpE7ZcqHBEcZX9JRJ9lISPcc6MpVpMb5oZPjFvIwhX5YW5vc3G8geI5plwDZmtZaocYKQrGZeR+s4qXTeKDbQ1j/6hOikE=,iv:UpnsiySBxjGE4NIiZX8/enGaPf5fS7jvFVHRojhq3Jg=,tag:VEI8qQvcJz0YbiIDnyAlbA==,type:str] - version: 2.0.9 + kms: [] + gcp_kms: [] + azure_kv: [] + lastmodified: '2019-08-29T22:22:04Z' + mac: ENC[AES256_GCM,data:Rcyh6DKgpd8WNvLqnPhMRYDGztK/WjNJ+SisCD4qL50wxiYUgwRGs5S9I8kOFm4+8pruOcQyCVIDzyjQHZfM1bKs+CnMJTrp1HDz2vhIKkE8O6EdE5+JbNxwc6ZFQE6YThmx6rz93gMHnDOcrO0XG2guGxTumM5xPkZsEBfpIyQ=,iv:YI0Yc2khjy+q1BxiEBDejgymyAQmBkdyl3fQUm76/1Y=,tag:pf4ZbMy9TrpTA/B2qVEkmw==,type:str] pgp: - - created_at: '2017-09-02T17:36:40Z' + - created_at: '2019-08-29T22:22:04Z' + enc: |- + -----BEGIN PGP MESSAGE----- + + wcBMAyUpShfNkFB/AQgAQH8KFrXipAGaHsKjQecpZ4R5PsWg4nqetgsy6FTcAI3j + KwvBoXapI+2m5aXjAdO4k76ZxGyyXXdwe6ebbuikxCuDl28m86o9xNxbBv5SxbaO + gTxtUR+swcnYRyfVmkd07HhATXQw7b2q4ERNJAVH9zxJcmzNzP6q9eRjePRWXSjn + xxzpnS9kQkevuzJXg5dhVZ9HnsuVEthK88c9H3ZZQt/kg3GLaj2XDhFUt9Xy3POl + 3Q2dE8xzVXzg5rF+0n8H0WpiRJ7hbvW6kvAanKNUDeNLY2shmkKiIzh4W0f2Vl5Q + W1nw23Tga6IQ6mSqLItZB5bYX/C9K33kceV1DYyW+tLgAeTofEdQuueh2myAYmmV + Wjap4eAq4F/gi+EpuOAS4jDaEhPgY+UkojNLl9ow2EkyrIMMJCKDSzuZcmZhwTYl + 7/RSqGHDHuDX5GvXVgnRiqnoDiPsImCDN5/iNmoSVuG9cgA= + =wVy4 + -----END PGP MESSAGE----- + fp: FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4 + - created_at: '2019-08-29T22:22:04Z' enc: | -----BEGIN PGP MESSAGE----- - hQEMA+IvbYEY5w8ZAQf6A0l+/3mSA/Tz/Z9g0E5rpbR7HIrmmPhO40VOLBcAjemB - ksDaJiCr162n+XfyW/k0wNWzgibRsa9KBHFfTef4kzQPUuT8sGc74HMKvgz8cN3t - 8Ed7Qp5ghk2SBPBRhf/NSQpUROSTit7DzMAt9QWvwgHJrLlIGojfz3dEbUKTE/9q - oRFrozKYRSCUCtcp1bpCwktA5tBxTiUsC5o2biMM6zlWOxwVtf+UwF4EDr3PomaD - 9bSH3uMFr/ArQ0QmIXB1lJ/xJlHPWzJlrgpKU1CbkqkelM4gqAl1trDV8bpf91kt - ufc1taHznZbNV4I6Q1jRksJAhYpLrMuae2uokBOKetJeAQwcMyT5MWijIveuAuOe - Dyq2i+o8Fv4qf305ufSpeQm79BCNcYF/NMSHZ0NhxIctf7f0Bmti29aTwnSgThC3 - tYvP/mRNduy0n3JOwIbbr0vz5sQSAsgek5CNVmquOQ== - =melP + hIwDXFUltYFwV4MBA/9/qqKDEbT9oZJqB7Z7R1RAz+TStVUzlE9+M0ScFuguBUpd + 7doLhhgBYa9ygti5pnAN4E1SI97xPhflGZLTp4OtdTg5UGOUwh6BM0BZI1ai6dlK + u4ra0BKOmDzv9SkbTngStXfPPLC9msc6sZe9TER88puqNAZ4DBrTyTtEAmg5wtJe + AecV7hxDzAGleAdmaTC+WHkvg/EgwY/9PaU1IMf6tCx8O/bS8JQhxmptO1aAm5Vr + dO/SV2m9QStMafO6OG1aGpy3zkVytlxGavkUK+dPp5fYbRYGQVfUiGpgRRZEZg== + =NlDf -----END PGP MESSAGE----- - fp: 729D26A79482B5A20DEAD0A76945978B930DD7A2 - - created_at: '2017-09-02T17:36:40Z' - enc: | - -----BEGIN PGP MESSAGE----- - - hIwDEEVDpnzXnMABA/91BbSKP0DMRl5S8glZalI4iJSEjkshvRXswONs7gVi756o - ZHAGVg1dQbtGRU4FvUI7dswTi9YfGLbGnBXytxajwWHzDip3LbpNEvQDnJSu8fCj - JAY7Ja9e28zqPOEWRTNapdGqjARjI+/66cWe+gOCy/El4hTBX9ideRE/fV6XldJe - Af3k0H8nAuWzx0zXUQsj5zcSdFjmEewPo7tpcVvjpHZKufYjJvRS9w3zNvIw9nsv - t6ss5LSaAtM/hpNMaTPtqzYVHwOa/E1m7+h9iEFS/gsZ6rcdDL2pSoPwPuWZcg== - =ZzYr - -----END PGP MESSAGE----- - fp: 1022470DE3F0BC54BC6AB62DE05550BC07FB1A0A \ No newline at end of file + fp: D7229043384BCC60326C6FB9D8720D957C3D3074 + unencrypted_suffix: _unencrypted + version: 3.3.1 diff --git a/functional-tests/res/no_mac.yaml b/functional-tests/res/no_mac.yaml index ee5b4a18a..f50b2ca0e 100644 --- a/functional-tests/res/no_mac.yaml +++ b/functional-tests/res/no_mac.yaml @@ -1,20 +1,24 @@ -myapp1: ENC[AES256_GCM,data:QsGJGjvQOpoVCIlrYTcOQEfQzriw,iv:ShmgdRNV6UrOJ22Rgr7habB74Nd/YFxU4lDh6jy6n+8=,tag:8GT6U8lzrI27DcFc1+icgQ==,type:str] +myapp1: ENC[AES256_GCM,data:NjYyOQ1GyFUhy25XX7cz7CZo4tLt,iv:WeWmnZCG7/pm71VMd37ua3LsZ6NnqQzLAyN8ylfYHb8=,tag:zh2hOpxHZ8ON+sJgB+OnTg==,type:str] sops: + kms: [] + gcp_kms: [] + azure_kv: [] + lastmodified: '2019-08-29T22:23:01Z' pgp: - - fp: 1022470DE3F0BC54BC6AB62DE05550BC07FB1A0A - created_at: '2015-11-25T00:32:57Z' - enc: | + - created_at: '2019-08-29T22:23:00Z' + enc: |- -----BEGIN PGP MESSAGE----- - Version: GnuPG v1 - hIwDEEVDpnzXnMABBACBf7lGw8B0sLbfup1Ye51FNpY6iF/4SPTdjeV4OB3uDwIJ - FRa6z7VR+FrtWyyNYRNB2Wm5eegnEEWwui6hFw7tvlhkN8C5hWQ0B47oYMTstZDR - TR3Eu7y70u3YLoQKZgDnPb6hQplGIoYVd/EMpDgKmKnmz5oCiIkEI68T3aXo5tJc - AZhplIlk9eSMHIW9CmGkNp5HtZlQWzVSdGdcQcIUBG4F+Vf40max9u0Jkk1Se1do - BJ+D4Kl5dZXBj3njvo4YdZ+FGoYPfMlX1GCw0W4caUu6tD8RjuzJA+fYo2Q= - =Cnu4 + wcBMAyUpShfNkFB/AQgABuzcPMJSK+DvnPKZVyYlmDLCM9BobLz/7/F8zyX4O00T + UN7/0Lc+MwZWUOe7lmTVgorDLcfxLONbLg9nxXO+apbb2gRABRYdggosMFaRUn3+ + m+maKQ4yDTIjIvblVa/olN8reD4Bt037mT52IxTZBLDAnyVw45dRTe9mzJ73eTi7 + 1Mk5s6s1ZH52SQHtbY4TSqCnOKodn3UkTjnFmDXMSAzCwBDmK/wv+fDufXSkLpeR + AGufxo697as2bQ8mpqgPPTvB04MgXwnTngUQ8BfagyOndgTCrU9YMA1gewJnJJj4 + azRP9SOukqtn0c/LpewiOHHk/w00dMLEk0E8DpxMItLgAeQQGaX95PJfl3vuPeRT + 2CA24Qbb4DbgseGimeBG4oS0oCLg4OVDd1tvVtu4+6VGKJr8YvgDk7WpDAK33LoO + QBWfQ5mPIeAN5GVWJ2Mk1qcSQTlO9LmM1vPiWojLjOEvZAA= + =5Gax -----END PGP MESSAGE----- - lastmodified: '2016-03-16T23:34:46Z' - version: 1.7 - attention: This section contains key material that should only be modified with - extra care. See `sops -h`. \ No newline at end of file + fp: FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4 + unencrypted_suffix: _unencrypted + version: 3.3.1 diff --git a/pgp/keysource_test.go b/pgp/keysource_test.go index b3723a83b..77e974bac 100644 --- a/pgp/keysource_test.go +++ b/pgp/keysource_test.go @@ -9,7 +9,7 @@ import ( ) func TestPGP(t *testing.T) { - key := NewMasterKeyFromFingerprint("1022470DE3F0BC54BC6AB62DE05550BC07FB1A0A") + key := NewMasterKeyFromFingerprint("FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4") f := func(x []byte) bool { if x == nil || len(x) == 0 { return true @@ -44,7 +44,7 @@ func TestPGPKeySourceFromString(t *testing.T) { } func TestRetrievePGPKey(t *testing.T) { - fingerprint := "1022470DE3F0BC54BC6AB62DE05550BC07FB1A0A" + fingerprint := "FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4" _, err := getKeyFromKeyServer("gpg.mozilla.org", fingerprint) assert.NoError(t, err) } diff --git a/pgp/sops_functional_tests_key.asc b/pgp/sops_functional_tests_key.asc index 514b2cd96..e3367955f 100644 --- a/pgp/sops_functional_tests_key.asc +++ b/pgp/sops_functional_tests_key.asc @@ -1,125 +1,174 @@ -----BEGIN PGP PRIVATE KEY BLOCK----- -Version: GnuPG v1 -lQHYBFYWi4IBBADQCJUOJC3UOFtH2CTL0z1q+MiqX0/nDWCT+/HcmopzAv4g6nC4 -cYNohy2wImR4pLR2IoYdBBzV8iH/E030SSuY+KkO2WAA1QqyJChglrfIlC7VZL+R -/iA6IijQod6uhDUqjDrGVXQUWdEsFRyTjnH7wFiXCQz+Y9lgSMYhP63owwARAQAB -AAP+MJ+w5ytBovbBLxuwDgwDsPsRO/EnJeQUjMI4l81vSs6KQ3tIeXPeuRHPdfmz -7hbhLzOGkUWiz8bWd141vEFV9PFMfGUU4U4lxUT+fdCFdH7gcmfLeCcryeKvmORo -z8hlb/3rIpSXcdDVxA0hARsohZqqeIAVurzZC51BLIxL+uECAOAAEoVwJtb3hJDR -w9eVEqA8vtI80Y709Bu26uDaDO12XdPg80PQvKbJgV2W37LFil8HfUwl0eFVEvgR -sO9cDIkCAO3AlrDE/pva5okDmuy9N14v5wnOQk/ibGOKmvuVSkv0LCiSgSZCvQFI -w2+sxau3IEWbQCI1pDGzDjRQZt0Hb+sB/2+H5lDzh25XUTmNfHPWLob/4amPjaRf -NWGnVSBbXamA/q/dJnt3odNuUFZ1jBhFGrcDzjYPztk69cDhlmJY/TCow7RVU09Q -UyBGdW5jdGlvbmFsIFRlc3RzIChodHRwczovL2dpdGh1Yi5jb20vbW96aWxsYS9z -b3BzLykgPHVsZnIrc29wc3Rlc3RzQG1vemlsbGEuY29tPoi3BBMBCAAhBQJWFouC -AhsDBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEOBVULwH+xoKn6cD/RcsXBkD -afH1kscS2zxhOeEqZiV8J+T3M2ZCrw1gEDn8tWyVdy/O5hwwOKVf10dqrXiKG9ld -3UeokljIhOpGE4izwTQQvE2O/ACdb70kp6BgBUpGsGHU0q+3/wCbDPJjtp4EqzwO -36LzLbaMZyrw0unTSR96sYRuEonuaxRKMwNZnQHYBFYWi4IBBACue2Pc46G2Hki2 -eVc5K7uroCTCsOf86WMX36c/jqTnXXsoaKPt3TrGoGo7w3fJvZfdTOseRzuoLVPd -Rel6npyTzvMzajDKOPL/DeVeleT8sn/GKeJwS9cqDxUH6ytZ4fo5nuUM/IGeRXSD -sK9Ri6gWytX7eRflXk0dySVuY5KeXwARAQABAAP+KG6CWRTMi8mfut0KV76pGd+d -tRnOYD5qzoTumh1BXDW+zMHWvs9lh9JzW47ziqWq88aXsyf5jIKYbO1+6YGosXt8 -mpc7JFxCthwDWcEGs3J6lSgjlNnsXVlHNwJB74Z/6nmRqVbLUBr2TuuCC+DvWIR2 -EP5i5PmwOp4dEdd/NE0CAMZJFrIT69YAXsxyE+6mP6IWYeAvBYPDU1KiHMt/unWk -JPLeiVSoE/AdvNouJJVadoCLO8uRS6dH9wg+j5zlUVsCAOFEn3LX1mGMIx0F3AFq -EfHkNcrWwhWTAy+Sv4pK12xpwN4Fb92/aeD8BSuIQeyZI2HsmCPuiPud1m6lAqe+ -Uk0B/2QiApmJOCBeqhXeJV5CaxDebaPKV0UVBsMLORnmAWRNBZ3onzU/XJYP5U5F -zhVfjg3smzHXD/vkfzO0xUqVfiGfUYifBBgBCAAJBQJWFouCAhsMAAoJEOBVULwH -+xoKz18D/2rLxAacpnu+qfKVUNdq+xQAlBF4Tt1xgmRayuYSI0ougvxKwyMFeuXj -sZlaMHbqJX6TpOiFU8FvMU8syhBgWNYYq/3JNKw9GVDabO5Ggbluup/q1/uJHO1y -v8bK3sq5s580DSaWamLgSLwl3UfCnL3Qa0XDT6SoY1L/Wzr1iW+9 -=zqxY +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 +=VjGL -----END PGP PRIVATE KEY BLOCK----- -----BEGIN PGP PRIVATE KEY BLOCK----- -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 -m4uvvRXNPuUA -=Gco8 +lQHYBF1oQYgBBADPuVP6Jdk/J/TbNa9dXirp/zzwK18ZqNudNqQGN3H+2aSgxXwL +wlRfzy7rB3CU6Ewjzk9EVYeYztTIkGHL0JZ1CCTiBJArlHO0bHQQ7CPeKPkhIhkj +eA8yu9dcU77oYC2xbwgf43KYzfMKSGEybg+sBO+bH+Y6paJK54V2cuS3GwARAQAB +AAP+Jjf5BXtVP1OAr5xvCYS77JWzhpTUSIpS7dgR0br91GAC9DmhmyBEGeSqwz95 +LUyYRbY9y1rZOfpEGCrIc5GLPOQytO9XMIzaS3dpzfGhla/spaKN4vJDvIOl+ruT +bInDdCRSmqXCfm2478OhOquc0H0a46eSmoaYeKdE3E8QZiECANxUL/dFk5j8NyPo +ZcwXw9Mv0A8UrynRcqht3Scti9k7dbsHylcObM305LFdcoNnSfNAIJhxfjbiXyGW +vwT2/qMCAPFatq3gvVjy6wKKylioi5cVwbLv9L+OaRXdR/Dy2bh/t3ujnsliV4+R +f7k3rHOQeaMLTnyfcz8AenL5IOe8RSkCANFpBgyzxCcV48Mm+FWDxjrSJ4/msRnN +gxqAPRrdpm7e1uebtBkPh4ch4oCW5/lLsRN23LUVIXYJRwyFfRjehCio0rRTU09Q +UyBGdW5jdGlvbmFsIFRlc3RzIEtleSAyIChodHRwczovL2dpdGh1Yi5jb20vbW96 +aWxsYS9zb3BzLykgPHNlY29wc0Btb3ppbGxhLmNvbT6IzgQTAQgAOBYhBNcikEM4 +S8xgMmxvudhyDZV8PTB0BQJdaEGIAhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheA +AAoJENhyDZV8PTB0R2cD/2YwaJ43iGueaAzByFnl+mUEBQJ4HhH4p7BIdx6B9AjE +3yLe8I4dqqYXxyZzaJ9d+KiqxJBT0l1GXt3H5M32yDJZqzXB9PTWP3yx8+Q1CuCs +7EL/bhJD1/sLdumVc77bmQtcI9NSiYyPzN/2ZqtV5RU14Loh24VFEjuHGvO0jI3+ +nQHYBF1oQYgBBAChXi00fmpEs0Jiq0zOyYm9i749VoOsNReoB/5ix1QCimwVZKe1 +D37IP5Qqysxy+LIQc4lJ+Q8foNOx1Aev5+TDyv+iU82D9xr9uPLLbA82k3AZ04Or +BjrZ/Yt1NZhuaHzciZCPpmqzF9kqVqAZc+vMiKZL1WZjS7O1FwaidY1vXwARAQAB +AAP+L0wUQeOfsD0+gv8khyPJTJZOD1pxQ6NYKLcXF8rG0+vQnECha098YKNKAXTp +kfVU8795iQYIKcQQ6Hl2O1fj1AxJE/iZYrqfm7UZz3bQ7ROSsAEPZ5GDOjKfbwsz +E6bWVH+PhS1azlvtTs9JezUtK0Wl9s+81FOrZtnUUskmWtECAMNNs9ujUt6GHv/J +NXVaSmk1z8QXitPHbAJLDMj4xVDysJWZV95eplC+RUSiLz5HeP2AQgh1D9Rv2bA5 +c7OcJ3kCANOEkA0hVpXCI0FKrsihOf0NUOaAtS6CQNFlaIkrLwssJQY8pGYbRfRa +3krNJPyOlXmezV2/CsX3EqA9KXXen5cB/iSmMJO4WndGJTe7YzUEnnY/P2TKg1fN +s6v5Lf39j5Ll8V5rVDT7ApAw0IKS8fzpbdHP0HcizutlF6l44YaAXMGfhoi2BBgB +CAAgFiEE1yKQQzhLzGAybG+52HINlXw9MHQFAl1oQYgCGwwACgkQ2HINlXw9MHTD +HwQAv+ui718AT2hw2pK9JaNuTxjllrH+KPMlrov0P8oXHPCohC5cxM5sJ6tCQ0qH +XyeWoDE8V31btqFVAQyrr0wy0gntl1L/trnwMHoP8a/xa0RHNk5C7hmcuhTHbQey +JNbiRJZpCIZ1OyrF17+q6u9YBPjwqp8KrJ/0ryy2kyb7ZRM= +=+tJ6 -----END PGP PRIVATE KEY BLOCK----- -----BEGIN PGP PUBLIC KEY BLOCK----- -mQENBFmggksBCADpdnpHZi87mNkRpu9GIFQy1P/pSlqyaML5m04fY/rtP2MA7jtN -ITfZATqN7Y2kTL/teoyZPHxHJ7RlurixObdUs3MSa+Q9HPaOqyThs7En12T8rtDY -kQfKBn9qB65jTBOxinjavcQXP22BXdCRR8qUSjl0xX6eiTxVo3Z0AH2mdIS3E6Z9 -FLn3AR5iXAbthZ+DAN2e2FqVogXBvPJJtAOKnNd8oQuvoWhsk2Fqg23+i3WS5k+h -lbTyYmhvBCjVK0JSD9muLTmB6SK46oiENID+Y+Oy9Y6y1v2H0VB8RApTFmibN1RU -q10odORJ3xfO/JXzq9KTHSNrF2/in3+h2wl3ABEBAAG0W1NPUFMgRnVuY3Rpb25h -bCBUZXN0cyBLZXkgMyAoaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvc29wcy8p -IDx1bGZyK3NvcHN0ZXN0c0Btb3ppbGxhLmNvbT6JAVQEEwEIAD4WIQRiC5pMliML -kedHPSARPSsm6giQxwUCWaCCSwIbAwUJA8JnAAULCQgHAgYVCAkKCwIEFgIDAQIe -AQIXgAAKCRARPSsm6giQx0b6B/9U0zrtABSF9ulIRTeiotnbVzkzmBnIDxmjVrQQ -oUTb5idXUyUByscTIBq4WCxICCEMZVDqsshpaAaKaOcDW+I69rxz/eGFFPFlGlf6 -AC7SwVFNXwbVdHp2eQ1W3SS053NZ1x0bDISP9M9Q1cPTEbN1DAN7TxpFenPTc6MP -D1/2nEJ7YRc7KGc9BGZDpXFMIR6V2UcCaJOD4xsOlfn8bRbMO3GmgXnzGxzuNz1t -zBuCFdwGDtfAh6v8WZ3FopARpoyZGAQ8lLL7rofIU0khRrh0JFzYNC1J2sEJDDLv -hsJCEA8M4Q2mJWV1PApiPPPZYcxermVZOxhYisAdYisHyAwKuQENBFmggksBCADK -JEaQG6KrowsXLlSOv74RNuqly43fcMBw2NY7t6D/kKksCgExd4VNKlJJqb/edlda -nILpNscRCl0f1hYVIclEApk26p3EUVAA4HXilKKhW/tF0OiQOkraJAma6HMUKfY+ -RtvgaNTBecX5HaIOyecYoAq8Ajxy2ITR8+OAIxurYxA/7x2BkM5tiHCZyjSjX2lx -Mp6XNNxY8ZKiGbekiL1/P/zD62IbtOd07wEiJQCE0Bd32gqVQCm41dJPHXXSrIM7 -0kV7VoTdpSEDOQpjyjw04QShI6BAF0CfcIq3cTBDO6ZP9j3Y6UkY95Qapm8j/PZb -omAuwlgwwDwT5fAwlkP5ABEBAAGJATwEGAEIACYWIQRiC5pMliMLkedHPSARPSsm -6giQxwUCWaCCSwIbDAUJA8JnAAAKCRARPSsm6giQx4Q1CACa7GGGWCOgTcf2Kopo -wVfe5Ig5wB5TuSJfbJLfLMlXhbGuBsauXhfhokomUbS+yB/L0QgB0ORgn8dVI1Rw -YRCqYpg/EAh14mGOOAjArnzQ7m8NqyJqraolpYoZPGffwA6ckGnXKYwus8cXLPaL -W3EjtZOxBfGBSrAibQKU/i8L/I5cupgpm17Tm2VaLDOmJNN2/gzY81dSYKdupDcG -AssjZTzCQvPGPyWqGpMooygNvqGalXO4p28g5t2ZgnSwG9FIzPWAqQ5lDZY9vNpi -5/smx5NPBmZostu9BW6WdocUz73eBc7b7C7nnDzE98QLkHpWcKAB/TkTCH5TdFnI -ZLzz -=xTqz +mQENBF1oQV0BCAC1iFfE7H3uu0hbWbRYVMoz5zZ91ACHETCOMVxN8GOG4SV0l8aQ +wmK9QWkYxhi52LnicVD3D7Uy75+J3zkvEDQ15C0AZ8UHXp4JlSQuXpFhrOhfYUF/ +6pr/QexT+hQjOacvY4qfnj4xKa/AGdv5vPIygtQumE6r3GhEVAxQ1GSwtCWSU3Zl +3Uqf7S8kDvJTemtR2UkVfpXcMd4AmMKgt7fVhPO8eFotqTLPvz/iClzER+q61fLA +d1rP9YlmY46MJp/PffPicWdJiKv2i6ynKcIwkrQyP6V2ZzYi/gAhNJst3ZlMfsiN +ekCtcow9Bn44uxW3U8W02FNQSNyn6V6QPDIXABEBAAG0U1NPUFMgRnVuY3Rpb25h +bCBUZXN0cyBLZXkgMSAoaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvc29wcy8p +IDxzZWNvcHNAbW96aWxsYS5jb20+iQFOBBMBCAA4FiEE+8e54qT5KJrAwdSEPRbO +5KJzgbQFAl1oQV0CGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQPRbO5KJz +gbTDcQf7Bp7e2zY9pBBXTgDASQl31SSHp9WkRUV5iqPVC9iPCELggteBGMwIpbDl +obc6O8/06foxWctTUaaciPBo2+jeWFTO+DNvB7oXIArqr5673QHLh6jEABBjyt91 +rvta2wYF1XJBgxpui9aLICsCptFNIRvHeKUrXBI4fG5z3CDs/EOoY8K/AAYJUF+E +RtmvmisiE/m20UpbYRmkBJy25c89Wcn12I1SUJA3H3hGwvZCYp8hY1HPxxQUtU+D +ZBIpryi0xQqExGAlYqck7G03F+AD7/csaT1LEdCtWRLNwE8UkvfUF6liF0SgzxFo +1pp3gBU4swds9yO9wNe12JY/M5A/BLkBDQRdaEFdAQgAtun8JhSpNAKvOXwWX2nF +hnMXTJp4viMhlAZEdmMXEi27B2DM/nRzldjxGZoNUBSVbJNj2kx5ZUDl0o6eOpCh +vRaGuCOpYqOuSQvD8FnX0NgQULwuTZ+MawsaezktJEjDSBM1R6uASeJwDZj4hcUn +PgyAIESajPdowEkEjdYt261fGOLLcVoVdtqzOMBkLVdrK/FD1kGR9jnSlKEYDV9D +veBUBQGdqkgWXjS5BKcae07viC6xMa9AJS4pizyDALB2k0HQOelZNihOGXYUuvkc +s2Fivl0Tk3OCfH9XDvFehbYRHmkRDoMuKUDSzdy6tFBAkL0CPlXAWI6kQklaBEp1 +9QARAQABiQE2BBgBCAAgFiEE+8e54qT5KJrAwdSEPRbO5KJzgbQFAl1oQV0CGwwA +CgkQPRbO5KJzgbS7zwgAndbf532OXo9HwPH+yQQmzQCLDFL6P4V7LcFrrydYItTE +hxqI3tbb96MKXRAt+G5Mw6JjRkWhwzbU3jE7D7XBMHw7GriTTU9QltNHg7VUpSSa +iTfVcSNErzsaqbjbA7jMs7VWzOq4LZo6Efy8UDKg5qcqLFaTQrzQZYNHNfM+kLAi +UPU8m7vwmz6oJWsjHkQKUhKhHptlpwMwdHkoacqDO0x2H6H91l/PnDm4ZG6FybJt +cjr98i+p52/XOo81nLgX7tcFS3nrN9HNdgKg1ZW3yrzg8NOaFCVA8qLDgLk//M3q +DixOxiurECkFrMvt/bDxEGpN5GVy550MmyUZQrkuqg== +=Zs2s +-----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mI0EXWhBiAEEAM+5U/ol2T8n9Ns1r11eKun/PPArXxmo2502pAY3cf7ZpKDFfAvC +VF/PLusHcJToTCPOT0RVh5jO1MiQYcvQlnUIJOIEkCuUc7RsdBDsI94o+SEiGSN4 +DzK711xTvuhgLbFvCB/jcpjN8wpIYTJuD6wE75sf5jqlokrnhXZy5LcbABEBAAG0 +U1NPUFMgRnVuY3Rpb25hbCBUZXN0cyBLZXkgMiAoaHR0cHM6Ly9naXRodWIuY29t +L21vemlsbGEvc29wcy8pIDxzZWNvcHNAbW96aWxsYS5jb20+iM4EEwEIADgWIQTX +IpBDOEvMYDJsb7nYcg2VfD0wdAUCXWhBiAIbAwULCQgHAgYVCgkICwIEFgIDAQIe +AQIXgAAKCRDYcg2VfD0wdEdnA/9mMGieN4hrnmgMwchZ5fplBAUCeB4R+KewSHce +gfQIxN8i3vCOHaqmF8cmc2ifXfioqsSQU9JdRl7dx+TN9sgyWas1wfT01j98sfPk +NQrgrOxC/24SQ9f7C3bplXO+25kLXCPTUomMj8zf9marVeUVNeC6IduFRRI7hxrz +tIyN/riNBF1oQYgBBAChXi00fmpEs0Jiq0zOyYm9i749VoOsNReoB/5ix1QCimwV +ZKe1D37IP5Qqysxy+LIQc4lJ+Q8foNOx1Aev5+TDyv+iU82D9xr9uPLLbA82k3AZ +04OrBjrZ/Yt1NZhuaHzciZCPpmqzF9kqVqAZc+vMiKZL1WZjS7O1FwaidY1vXwAR +AQABiLYEGAEIACAWIQTXIpBDOEvMYDJsb7nYcg2VfD0wdAUCXWhBiAIbDAAKCRDY +cg2VfD0wdMMfBAC/66LvXwBPaHDakr0lo25PGOWWsf4o8yWui/Q/yhcc8KiELlzE +zmwnq0JDSodfJ5agMTxXfVu2oVUBDKuvTDLSCe2XUv+2ufAweg/xr/FrREc2TkLu +GZy6FMdtB7Ik1uJElmkIhnU7KsXXv6rq71gE+PCqnwqsn/SvLLaTJvtlEw== +=PafV +-----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mQENBF1oQaYBCADsCw223WDj2ISnkZQJ07NS7ER/ft2Tz6FPzsMqz5JmGlwQantH +MzjqNGE5du1TBK+yCIuzn+P/iokmOdFjkH20OHHCEmgBQPQ2WxpR4Bc/jDvswoL2 +2amknIYStf+SgCwtNPT51RS7/5brN5pVn4GjDYg+IRLk33bxz1kN3933olkMFHJF +hrr1rcE1uxt3j2CEPzfKAUyviKXkSl41IAopE2e69zsVg0YaensTnE/hY45r1q0W +ABXoJLg4H6UtHZWWGg7vmtQYCpiiUIaWZ3YB449Ur4jxXeIZPUqhliqOoUk8a7En +1ZC1hGLw0jaENeaHywVGi9ZqABmOVYmvItI3ABEBAAG0U1NPUFMgRnVuY3Rpb25h +bCBUZXN0cyBLZXkgMyAoaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvc29wcy8p +IDxzZWNvcHNAbW96aWxsYS5jb20+iQFOBBMBCAA4FiEEthGi+fEdD/glaIBRGfm1 +2uqR/4YFAl1oQaYCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQGfm12uqR +/4Yc3QgA2WcMlCCUB4uyyvKq1a8ZTBli0YzIxT+KslL+PbOxfhoxglxPRClB0/l6 +stG3RD0UXKq9cTe9f5nI96XJRqUzePfKtixSieirNTZswiHIYifYfg460gXYAIsV +deztRGxEaMUVq6vajkA69yGbi2nExaQrPQAgcOoyEcGhsQVi5M3rbIGIJtK/K777 +lAvWskMWjEL/VIQ3qHJapBwhtyK8pKiQ1U2ssvXSP15RouUU/8PdD6d82dLlLfBm +eiyQCeJYQyR/geJAvhyBO+Jy+SS2RNCE6FGirACzRh3SSLpKAvieoMHqYzav8kMh +zSMa5230SKpartbsgFu7t39zsc3t6LkBDQRdaEGmAQgA60kJghTuxvZaNjXCZBnj +0+z+NSnfhdPaGgdUStXDCbzsO2l/6kvlWMwwS3VuDwGjx1vLWt9KWxmL85+qLE2H +FuRpH4sJFa+0HraY9SP1UxgO5ydommRKdLDw5iQIaJACMSsMAHHOQCJ9VuNE1gt8 +gOb5J902gRahgIKpGrrmtI6x3Zmu1ryKrBH9Ln60kYvrU14ANPYtIvOwqCNxeU4C +9q1q4/b73RXg2Gri8alGb2HMIaeK6u7i5MlEOqkQof2FkmGg3nEw/6Cvcnf4jesJ +ibKa69vC6n39ZJ0eRhmhr3tw3MP76Laayhqq8T+Ffog68A3Oe+i6+f7PyLe0oaHA +uQARAQABiQE2BBgBCAAgFiEEthGi+fEdD/glaIBRGfm12uqR/4YFAl1oQaYCGwwA +CgkQGfm12uqR/4b5lwgAmVCa0XYeco6Ec+Iz0CLBvNXDFH/KsP/ypWK5duzZRKeb +D30cDwQHUFWH5WivGZ5nJ+Rs9zkD7a07omMTRmCsrjD4I3xDGMTU23l+gBSC5+9R +B6bOi81ngH3OLaSbeh2t21PDEf57M94WFNlw2LVgMvZ6S4rs7I4FZgm75h4EGGuY +It1l8SqNWcKDm9Kz/qG0lqeSGGFnQqmSBFH0Vb0hus/XErU2r3fQr1lDj0VKpOIO +J0Ys9rmI6yEPTi+GhFr1bHKwZMinz5lcHnOl8xye48tsrOtHMGN17/B6hUUGzd+W +TphrOfnfTO1YCkg1nEB5E2Raj/KV+ohqPvjE+KhE7Q== +=gqhE -----END PGP PUBLIC KEY BLOCK-----