github.com/anonymouse64/snapd@v0.0.0-20210824153203-04c4c42d842d/asserts/systestkeys/trusted.go (about)

     1  // -*- Mode: Go; indent-tabs-mode: t -*-
     2  
     3  /*
     4   * Copyright (C) 2016 Canonical Ltd
     5   *
     6   * This program is free software: you can redistribute it and/or modify
     7   * it under the terms of the GNU General Public License version 3 as
     8   * published by the Free Software Foundation.
     9   *
    10   * This program is distributed in the hope that it will be useful,
    11   * but WITHOUT ANY WARRANTY; without even the implied warranty of
    12   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    13   * GNU General Public License for more details.
    14   *
    15   * You should have received a copy of the GNU General Public License
    16   * along with this program.  If not, see <http://www.gnu.org/licenses/>.
    17   *
    18   */
    19  
    20  // Package systestkeys defines trusted assertions and keys to use in tests.
    21  package systestkeys
    22  
    23  import (
    24  	"fmt"
    25  
    26  	"github.com/snapcore/snapd/asserts"
    27  )
    28  
    29  const (
    30  	TestRootPrivKey = `-----BEGIN PGP PRIVATE KEY BLOCK-----
    31  Version: GnuPG v1
    32  
    33  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
    83  97WP6Yv2
    84  =gJ0v
    85  -----END PGP PRIVATE KEY BLOCK-----
    86  `
    87  
    88  	encodedTestRootAccount = `type: account
    89  authority-id: testrootorg
    90  account-id: testrootorg
    91  display-name: Testrootorg
    92  timestamp: 2018-06-27T14:25:40+02:00
    93  username: testrootorg
    94  validation: verified
    95  sign-key-sha3-384: hIedp1AvrWlcDI4uS_qjoFLzjKl5enu4G2FYJpgB3Pj-tUzGlTQBxMBsBmi-tnJR
    96  
    97  AcLBUgQAAQoABgUCWzOCRAAA31gQAE5QgyBuxF3DGlMP32+3G5soq0uDLKG+sqFIEj/8j1dwLG0u
    98  ut7UPEf5iTZFDqqyAaFBRUPxx1cGB/6WFrks3X3/325hVzv5DYA9d4508BXdlNBA++t7tTdb4rU6
    99  G57aVgbpMCdwdjRbRMv1LLVWnli1pj8Cvt/jiTMbJUwQ/CAO0UZA6EH+fAeHGB53NNvedAM1goWi
   100  pS3XvruDtv8qTbVW9jNSIX1ADcLAbmM2xV2Vo54lfgN5NJd/4K4S7sPSsX7QLBghFkB0m9i5g/Qu
   101  PecvJ9njebFF48yvG4W1owBNBfxD2oHNhK/GdtxsREDKgDXuIrhziXBzWNeYto8lCZ1D520k+xp+
   102  2rL1TYSy9IixOzAf2qBhUTQdXsoVfmBOyExlYVQDIFO+X4ufbhLzy2pTE4KWvFvF58HzGradbix6
   103  oUD5hiEjw1YoV8FKdMLDobcvGzgm+Kx/FQo2Iqm5GmfzPW/K3SntoptuHIDSk3B12F/F/EDoYiGS
   104  MDWJJ4NMbFLMemJhvEI23IuZOTBEt27sGcgOju4wYkcsaHPEeXTGUBUgQADugBTwJtWmuybkmovM
   105  aLn1kVYpht+0cZeAQR5L3nSOK7T3V+QvWSXt6PAiHJv+HnemrYarSmGVTDcpj1QuWXyX026RnkvP
   106  SD73HCe5QPTjrvFvIa6o6n9khFgs
   107  `
   108  
   109  	TestRootKeyID = "hIedp1AvrWlcDI4uS_qjoFLzjKl5enu4G2FYJpgB3Pj-tUzGlTQBxMBsBmi-tnJR"
   110  
   111  	encodedTestRootAccountKey = `type: account-key
   112  authority-id: testrootorg
   113  public-key-sha3-384: hIedp1AvrWlcDI4uS_qjoFLzjKl5enu4G2FYJpgB3Pj-tUzGlTQBxMBsBmi-tnJR
   114  account-id: testrootorg
   115  name: test-root
   116  since: 2016-08-11T18:30:57+02:00
   117  body-length: 717
   118  sign-key-sha3-384: hIedp1AvrWlcDI4uS_qjoFLzjKl5enu4G2FYJpgB3Pj-tUzGlTQBxMBsBmi-tnJR
   119  
   120  AcbBTQRWhcGAARAA8dC6HP+NfM5sNgCHH+bsQv4YLIR8glPfJ+HEXyaYdNO1+oFyX4nx7CpV5Umu
   121  TYs7DPVpToAiN3snpBdPPKu5UEzkQ6OGDucf2bZnAInj7WzKwGnOA/Y/uQMduIyeFZ4mLnUNcF+M
   122  e8LV0aS/pQhEdBUuRxEOi9zlv0p7X1bUs6LIUTubu6+smFtbdBBNOD+0qrvjf7CvsScrTsQswtvw
   123  cLoB4GX94wK6RQrlkmYJPUFZqkdWt7cp0iq8d+Ts8UnT8sgWuFzkMCgBKritS7/545mE8AE0fsyF
   124  Gt5+0jcjgs9LDk5gRO7EgoFLXPsEBdiLdVms7OGAwPGG00wfFYL3ho4PCfKq+mH0kOgUAynlJ7x8
   125  MCR92eWEi/ylHXiO0jnRY8UsutrM76eLN41iUla/6j5DcsXxQB/xzlYkUdtXtYrn6L/DTsnixclu
   126  3ogPzlPEFyVxv0vWIgkKLWXj2JRRt2uqe3K33TvdF0H+m6snZTStn7VY3if9fvyx14+tKh16ucdQ
   127  a1zzJoTKTqYWX9B+ZfENGKJUnhTP0x7Cm6lg3EUGay/b5hsA4DBoqShuf/N0jVLojdhxi3Ck/DBN
   128  lqCD0zy4uzvinjX+b4ay+LKBE3N15AsfEkWIwzI+1OdDlOWWqOxJkM6lrQ5hRQ1fHZoCiGjHbjeE
   129  1RIFO2TAw2tpyUcAEQEAAQ==
   130  
   131  AcLBXAQAAQoABgUCV8656QAKCRBMcZp594FxpNWlEADQgBlROdBTHpdZ3/9BbasxenUC3VXusMeK
   132  0DmnsHrsAsyVk6xiHQQ3hWxvXKWoDkDsOhUqcQTsDBcIaZ18+qwpQciyItd+w3d7SSJ+MKSUpwsB
   133  NOdgw1ykj7l1M/W7xAAPscFoV1xVSk9+rsLYFYDe23R+ecyotSmF+4QHj5b+hXeVIOUaqQTl5xPC
   134  h0zVYNIUWv42q4Z+hiBS8+8UJ0G+7z/27XORkGHY6TXCt0aph7s5egr8Lm+/jq7c95HVsa7DwSpv
   135  SqPajRnlyLiHFXUYAUPEU9oDgPwtLsqUkFfrv1WZ3ja1rDexgKBta+8BRyCAq3gPcMAjhiHXdjoW
   136  90p893l9N6K82RiEOO9ic0pEezjQldg97oU+ajXNm3ryns+HX6hRd39rpzIsrbVdbCqun4RwMbCM
   137  EVxgC/cuxMGcS40Co3O8wG3H/WIWOqcRQfolQTexmyzQljYt9WyWJdXmtPtaMzQGbOqE/dIjOK9j
   138  xvrghVU4kX6fJFwPi+azMrluHV+WGSVxPCuLW8o2aipjOd1/bUQCL5OwRuaEWuLCiV01J8H/JjWV
   139  hL4gGVqEM2KEPIDwY2yqX36jE7uN9O+mIPnS4Tdj0JQ5ZD1qh34wv+4QvhgNeyP120nuS1ykO9X0
   140  A806uPC5QK1+cgRMUz8zJ0afDNwE/DvpBQvE5CIi9A==
   141  `
   142  
   143  	TestStorePrivKey = `-----BEGIN PGP PRIVATE KEY BLOCK-----
   144  Version: GnuPG v1
   145  
   146  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
   196  o7ZSZ/h/bUY1EjE2
   197  =Nc2M
   198  -----END PGP PRIVATE KEY BLOCK-----
   199  `
   200  
   201  	TestRepairRootPrivKey = `-----BEGIN PGP PRIVATE KEY-----
   202  
   203  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
   241  =3Jq1
   242  -----END PGP PRIVATE KEY-----
   243  `
   244  
   245  	TestStoreKeyID = "XCIC_Wvj9_hiAt0b10sDon74oGr3a6xGODkMZqrj63ZzNYUD5N87-ojjPoeN7f1Y"
   246  
   247  	encodedTestStoreAccountKey = `type: account-key
   248  authority-id: testrootorg
   249  public-key-sha3-384: XCIC_Wvj9_hiAt0b10sDon74oGr3a6xGODkMZqrj63ZzNYUD5N87-ojjPoeN7f1Y
   250  account-id: testrootorg
   251  name: test-store
   252  since: 2016-08-11T18:42:22+02:00
   253  body-length: 717
   254  sign-key-sha3-384: hIedp1AvrWlcDI4uS_qjoFLzjKl5enu4G2FYJpgB3Pj-tUzGlTQBxMBsBmi-tnJR
   255  
   256  AcbBTQRWhcGAARAAmJqmZvsS58INTs+UQ+jfo836vBS5tkU/hk7c0huZe3So2gc9kaJvjkjhZ6g0
   257  0/kGoidw3i2WkdMEp+JtvU9Ztfeu/Nn/OqkSc3Ap1KAmqL4OllPVII8H69w2zqvmo+PcqH0SvHAV
   258  EoOC2ToXP0wEHnAZsbVu56AKrwpHDppPEIvaS6glrsEX1AXpOeMHZLVRtfsBB6dlLXuula1UrSAL
   259  RFCEjXtqXqOto5Vo9C8p63lLBy19ifz4OriWAGBqZvFdItmo8VIPXSDdgMMHBlu2MSNJHVfo66yp
   260  buos5Qs6PlVARACLJgzgplI5sDbzXtVx5O9Q8YJjz4NfU0WOWYPWvmANXDeMNixWoWvuixYvsXaG
   261  x6mdD7Hh/gi8prkQmZ7gxW1MEOV9JThAqYjjs2ayGVD73EI2sKYxVwEg3iJToQ/cEz3O2U1HdmYj
   262  QfRDJiX3GEPBXXttDrbPM42SHElouldmJ+PkJDLdkGmA85xYUoEKHdEFIkjFStQcyO5CkyNZN7SH
   263  iAIwA4DpGMmFJ26maqVzJuiLvicri2FR/sJaSA24N8HbGne3gSS7WrSQS+jKe3IZPVy64NCoGvrW
   264  o/HvTeqsIfihKPEpXm8QVtjNhtkVn3RdIUgOaNWyAfnZ4dW1TVIATe+OHDw2TNyImTjE0x75nL6B
   265  1/Rrn+9VP9Swhv8AEQEAAQ==
   266  
   267  AcLBXAQAAQoABgUCV866kwAKCRBMcZp594FxpHWHD/9AaZXqyT/Zsmq/VzmAMpd9JvCH4PHQKtAP
   268  bXfP2Dnpa2wk2wuzQuSWunR8NDRyVh/aNVeTEZ9dFm/B8LR+U2O4rsHmFSeicmsTmo9u/HouRdEU
   269  zeSc6cbAxMPpfNSjr5J+URLjGRT6oX5fEBmRPx/OC9pEIScMx7uKmTKEnuyMzLRNN/6HiGWKrFCo
   270  nJdKkwRXrkCHyXWAOv1GumT7NDuyFcjAqt/UdHliTZkDBImKOsBmBVXMUjg7HCSS2uq/5WjStJ+B
   271  JHQ4GSsXBvVINs6BncNWcvV6mCQ73D57MzGhqo997Zb4tSrn7UNGWK7GLCzV3e/pFlG7pw6HbgnQ
   272  +rxU2Oj/TPVw0tcnUiRl2ttKpm+nua0Cl+MD+Gx0KXLAVp0ZGOQ9yGyP9AePFzcOR8SlRIgxi0EI
   273  iJkSeYilqoKo3AJhnICRiqvAca2TGJoiJUryEgZ8jbTOElfaF2p+y0xvXGlWbKZm1gzGyvFM5fV5
   274  hJTlp/am+2uVn6U8wPACir4PrbuXYo7L4MIXww2OEO0ruBIaLARbc5IutSWmw6AEYQUxtsa9bdHV
   275  Zin7LGbEj6lZm8GycWQwh4B6Vnt6dJRIyPc/9G7uM8Ds/2Wa7+yAxhiPqm8DwlbOYh1npw4X4TLD
   276  IMGnTv5N3zllI+Xz4rqJzNTzEbvOIcrqWxCedQe79A==
   277  `
   278  
   279  	TestRepairKeyID = "3m-CaG9w6CoHbGp8ctHH-sqNj-sBa_M65ekmqPncNN7wOa7NQvYN4J3NMyd_DmYz"
   280  
   281  	encodedTestRepairRootAccountKey = `type: account-key
   282  authority-id: testrootorg
   283  public-key-sha3-384: 3m-CaG9w6CoHbGp8ctHH-sqNj-sBa_M65ekmqPncNN7wOa7NQvYN4J3NMyd_DmYz
   284  account-id: testrootorg
   285  name: test-root-repair
   286  since: 2021-02-12T13:16:51-06:00
   287  body-length: 717
   288  sign-key-sha3-384: hIedp1AvrWlcDI4uS_qjoFLzjKl5enu4G2FYJpgB3Pj-tUzGlTQBxMBsBmi-tnJR
   289  
   290  AcbBTQRWhcGAARAAqpVMFubDL4n8sdaRM+c/ym1Hh/HToWRUvPQ9VhGARa3tBZX0yeKZIWbqttXU
   291  gkr3FHx6z+vfia87Z3S5E6I60X+hSKV6RmS2uON19rPJi0KZ0TGGAfF0rfk3WYpVW+M28smMPqZU
   292  jL8soDYeP+LRrqPCByvI2CvgAbNkQGZNZJoYPsEoW1ekDdVew9nvN1MRkMih+hK/TMk70jGixsbR
   293  NEOg9nQ9HdDwv0fdlF9oFTfz8GfIGtMlPbFg9/G/AbiYnnHho5JDgpJ+pyjAkoC9CttO3FUc4mgE
   294  EY+6SwuJH548gPg6gwS1ATi6+l8hNxUCUQlIvaTHRvQ09+kCfbu+B7RqHf0yuJEH74H0fqg+0l7g
   295  /RwU1Iv4ylkKsO9w8YjAhGzLdoAOZ0j9EwDpRr3jUj/sE7sY4760C6dcCe8mC83nuaiRMvzStUcy
   296  taa+KqpwFepxzZteRM2JzCA0h9G9yF08iANnzgPSBoI6YvsxPkXKNJU8PrOCHvtZjkTGJR1b1sg6
   297  Y9AvGGTLsX+D/KHPox1TVuJQulI3lnB2zNwf99c348KSFSoefvlhbWwxLErzc2ogt0L2f7JcY4q7
   298  vcegoXULoD1pvyzzjVljTzNeQ4tjrlNKG1sVrxJmekMjzgEtJvuTljLjxPB0QDqeVyP2n5JUKP3i
   299  8J8JH9XlT+gpv40AEQEAAQ==
   300  
   301  AcLBUgQAAQoABgUCYCbUIwAA+LMQAF/J4VOh3YXz9GGOrPlFQHBUzDzqiwFJBl7mdUMJ8AgBoFvk
   302  bKm1Y3tIl4VX7Ajft6RyjpQ/O/RsvmNeQbb409FWvuUxuRUbguXHR/m1WeWH3EGEfQi1MYpAY+ed
   303  IwAVyA/RCrn+1PnSu4YVtDUJHIJ5NHpcMXufpeo1Ek1S18T7prHezEq+QTgJ6iCSMZPSmhIEBQVm
   304  V7+8Ui+uKuqqPReN/KmQEedZxH6sKTHxZe3mQ0wyM7YOzL19nECSoWAHiaSErSdVzhYpQIiZjeGs
   305  7LroIKZY2zJkZhWPlAzDDjlSMWSFmh6P2B6Fsg45ozDw4JuXE0O7+wESEA6Gh3S9xaTk/QU2g8yu
   306  NSWtQ0zGSyLknVRfNEtWTiYR1ZJ6HVAsAH+zILE88LQnIhPFb4ruF4w30LYgJk9RWTqRAtxnnu9E
   307  K7GR/NWNqLpjaWZ/z+KTCPSnj0o7GnVjH99uVOIbVQMd5WxYbGrM/i9+5Q+E94WK3Dhr5erdEIx3
   308  8MahXGKpzhnGLlHHERWKupgU9HOZFi+jyaHs2gr5rXfYyaf5wPuy6nFiE04mJCR5nhmvxROMBcmZ
   309  J2ZZ3ST8ihwC0d6L038zp/oWDNJHIPpp/hWI82f2diR9soJGpKvFS+rNxPBrL1l2KkNqdMRffIHE
   310  W9mKvTpJVq095x2hhfHD/4VHLGIm
   311  `
   312  )
   313  
   314  var (
   315  	TestRootAccount    asserts.Assertion
   316  	TestRootAccountKey asserts.Assertion
   317  	// here for convenience, does not need to be in the trusted set
   318  	TestStoreAccountKey      asserts.Assertion
   319  	TestRepairRootAccountKey asserts.Assertion
   320  	// Testing-only trusted assertions for injecting in the system trusted set.
   321  	Trusted []asserts.Assertion
   322  )
   323  
   324  func init() {
   325  	acct, err := asserts.Decode([]byte(encodedTestRootAccount))
   326  	if err != nil {
   327  		panic(fmt.Sprintf("cannot decode trusted assertion: %v", err))
   328  	}
   329  	accKey, err := asserts.Decode([]byte(encodedTestRootAccountKey))
   330  	if err != nil {
   331  		panic(fmt.Sprintf("cannot decode trusted assertion: %v", err))
   332  	}
   333  	storeAccKey, err := asserts.Decode([]byte(encodedTestStoreAccountKey))
   334  	if err != nil {
   335  		panic(fmt.Sprintf("cannot decode test store assertion: %v", err))
   336  	}
   337  	repairAccKey, err := asserts.Decode([]byte(encodedTestRepairRootAccountKey))
   338  	if err != nil {
   339  		panic(fmt.Sprintf("cannot decode test repair root assertion: %v", err))
   340  	}
   341  
   342  	TestRootAccount = acct
   343  	TestRootAccountKey = accKey
   344  	TestStoreAccountKey = storeAccKey
   345  	TestRepairRootAccountKey = repairAccKey
   346  	Trusted = []asserts.Assertion{TestRootAccount, TestRootAccountKey}
   347  }