[MM-20309] production public key (#13244)

* Add production public key

* Fix unit tests
Этот коммит содержится в:
Shota Gvinepadze
2019-12-05 23:41:52 +04:00
коммит произвёл GitHub
родитель 5122b9e292
Коммит 9898f91f7e
4 изменённых файлов: 150 добавлений и 38 удалений

Просмотреть файл

@@ -930,6 +930,11 @@ func TestInstallMarketplacePlugin(t *testing.T) {
*cfg.PluginSettings.MarketplaceUrl = testServer.URL
})
key, err := os.Open(filepath.Join(path, "development-private-key.asc"))
require.NoError(t, err)
appErr := th.App.AddPublicKey("pub_key", key)
require.Nil(t, appErr)
pRequest := &model.InstallMarketplacePluginRequest{Id: "testplugin_v2", Version: "1.2.3"}
manifest, resp := th.SystemAdminClient.InstallMarketplacePlugin(pRequest)
CheckNoError(t, resp)
@@ -948,6 +953,9 @@ func TestInstallMarketplacePlugin(t *testing.T) {
exists, err := th.App.FileExists(filePath)
require.Nil(t, err)
require.False(t, exists)
appErr = th.App.DeletePublicKey("pub_key")
require.Nil(t, appErr)
})
}

Просмотреть файл

@@ -5,42 +5,53 @@ package app
var mattermostPluginPublicKey []byte = []byte(`-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=qIjw
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
d+eYY64=
=UePK
-----END PGP PUBLIC KEY BLOCK-----`)

Просмотреть файл

@@ -562,6 +562,11 @@ func TestPluginSync(t *testing.T) {
require.Len(t, pluginStatus, 0)
// Correct signature
key, err := os.Open(filepath.Join(path, "development-private-key.asc"))
require.NoError(t, err)
appErr = th.App.AddPublicKey("pub_key", key)
checkNoError(t, appErr)
signatureFileReader, err = os.Open(filepath.Join(path, "testplugin.tar.gz.sig"))
require.NoError(t, err)
defer signatureFileReader.Close()
@@ -576,6 +581,12 @@ func TestPluginSync(t *testing.T) {
require.Nil(t, err)
require.Len(t, pluginStatus, 1)
require.Equal(t, pluginStatus[0].PluginId, "testplugin")
appErr = th.App.DeletePublicKey("pub_key")
checkNoError(t, appErr)
appErr = th.App.RemovePlugin("testplugin")
checkNoError(t, appErr)
})
}
}

82
tests/development-private-key.asc Обычный файл
Просмотреть файл

@@ -0,0 +1,82 @@
-----BEGIN PGP PRIVATE KEY BLOCK-----
lQVYBF2gen8BDADKQObdPa6PagvYYMHNGIswCU9mVjOxr5g6niGQ/AxMW7AaHpkk
16/oAzJ+DSyJRRgJMlFbN0iKBrZ6pi1pO5eS4l1CWW3eATr+32gW40SuS/sgzVrS
OYPocqtsC9XWHK2j/UFbaI7aivnUYKIuBzhAWdcUYggjd1qgmM18zWYkuV1Jnywu
Xue3Vsc/pLGqybG/EkBmZHRktr4fNn2xEjmKnUKp28vMF4Pz5e8/2qklSsc9UVl5
avkex+glOeJSWF3L7S5CmHAWVgQNwKoJrvq7pKOUsZqrHScjyujeKp1Y6cUZdcBF
8bsF1I+J2RxQFqcC6O08x29948P8UkOv4/FpUGYhx6tcqnQ0PdT4fjPslRapvdZo
RiGdlvJLKUvhfRF0cgPxflde7M42cV5saOXKyaF2hPJi/SsFkTVSnyCyixdr8z+M
QMIcgtrQ26ig9s5J0h2j3y9sgvvTh1nxE/XWOlrXjCVohNSRWZBjX1PEd2dAk4ZK
OEB5YcST61kbhd0AEQEAAQAL/R0XUb2f2iRZsgN5A1cvQRHzPN7w5jWYFrLTvOtA
Pbqb84wGO6vfdDdQgmo8FdxWulrUSHxwyrfDuGqSzXRV9HrVoWliOJnWnng7hRrJ
rL7PQftZXkdfq3f7Smnbl/HYpScxzb1KoEWR+NZR4fHx6ubipTuS0C3dxITWBbR+
TMNagC8PPIkc8IJf8n/WfhGdOjpL80RnDZDQ8i7GJTUbdHhaH1UUPs+H0Fx8Bbov
BuZMx7Srp01+FAAX6+2y0jla6T0qvFwx1A7SXU0yy4W4LnyoPA26IU07/FPOsPhP
Ib6gKYJsajcl/2aXW1U9JITEtiHLltMg31pHoCuzZOXbAsAu0BNPVmnCMyqQVDXc
F5RHd0YFoja2+LA1YuiOFkA+YtOSCDBD7zreJm2+lOWDavBbNdIPxhHJrEwUofJh
WmoUd+92GeAJzNENDKukcIXShGxWGYaFTjwaUS7U9IQcnnsJ0qktrDY0tIFzkECU
+mbdmktJhVsqca5uOiVlCAJDcQYAz+/Y4fiDX1OCszbK2XPLvUQGCHnKfVO4mkSp
JthR2DSt2j4sNbOhVyZaOvbfcL9R5WWhjBs5BHKcyZGtvUdiKCLSABDwtYG1GDa/
ZxN4lomthuEFQ/tEGU0bKvGjzS/d9w5+ig5g2CJzGLtqN78p9iwoeRo7idxLW+5C
Z9mMzYx0oMAt6kIqDRYP6CJ7UAGOCwrBN+8feTvH1lTvFK9WhG5EUdKop1rd01H9
950ql2bG/1Sry3Fo3oYnYCEfyrdlBgD5AMEuUu0lNBB4zY5MqNcB/zWaf3QvwvP7
KhUbItJ7Zo+wI9TDsYSuL0a2pzQ5pahI7oKYvdoigvFPFuA+aRta05lQwL6BuDHC
3qqd4ze1ET+Ehfzzblzd63AQlqGsu5gp7JB2cEMI1ln6ck0CEtyTM8jTVXJGGtQu
hR2buMdOMT5TmNGeayV5KpAmDjdYBJMeyV/akX42UKHunBBst8Mwtg7PQgnCbdMb
gPXaplakU6/jEYKbyU3aHDFGcTs/2RkF/RVgYDRR1bAe0aaCmwxiw3ngYbkNCVKZ
lpWoiEQ2HvSOHUVaf3ifWwceGTYfgP5fqiELJyfyaDhEAhCQlyH7kvtMv1cuFwjZ
NkpfN3ptYZ+wOHKJS2L1Xf9m6m0AxUC1G7DMKYKLLx6LaZYF3kctTti2sRYVzOW8
rSLEYs3hgHoF1mIjdVjaUzB58/M589OsCq2CWCUZMl1lAQXOaSHvQLq1geUgN3iH
kqhIOZcMtjnDFfNGxXnX+YlzRNUUKI1ms8yYtEFNYXR0ZXJtb3N0IEluYy4gKFBs
dWdpbiBzaWduaW5nIFJTQSBkZXYta2V5KSA8YWxpQG1hdHRlcm1vc3QuY29tPokB
zgQTAQgAOBYhBPP6zkXg3mQsi9ao5kx8ZWLBkswfBQJdoHp/AhsDBQsJCAcCBhUK
CQgLAgQWAgMBAh4BAheAAAoJEEx8ZWLBkswf82gL/RQC+lO9PWwEPqoWlQ49lSZR
Isud20vO5igyogPS+9N3FvU91tClVfawy5LX26nICaRVGHnS7EZyw4tT+VRoXwLU
LbbN4a+12RvD7v0a/UBiXIIIRqeFBJ0fjP+3xbycFxLDyQD7jbeC5LOUiutFI8Ij
IdJM/8yXCK243X7ARSVcxeeNjic2nKKT570ugorTnMLLWZizACfHUjkgfjiI5+Oq
PPYUa/eIWG5zmu1wQLbpHJgI1UfuYhwLB3bn82n4hBt+19RUS6CvU4axK91sADep
ZG0L1DtVwVfLcDzWy/GQY+JnDrSjGQb1Xm/WX8RMJbO3O9m9dddlxY1oNvzWumfY
sV4W6UkoHEsuicKBH/yXWEkC3y5LzKY5BGlUr1BXO2XLG1lZnsXGx+wLgBe2FTdU
VmMtR3VN/iTl5bai/0k+NxIccFCnpJyO1KAtNvizYHmYPtUUGG4U5NazWZulVpFU
imC69goh3G0N96TRuM9BIjrYr0byYoYThKqJt9eGE50FWARdoHp/AQwAus96MCA6
HshbGZYk8777wW/x4kPmdTsjcjhxaAmiVcNI/iASmTCV8fMCfsEnBMpO9nmgOqlA
JBXebCq6ZCVEEpIMddTdvVngw6rdJtCUV8125MLMprtrv38MV/3pNeKWlVb9dPcd
03r3zXSgJ+jztRv9/HYbqH0ktrF3Anntv/wSPh41tyUaATgZgc/1d/QVfsXbEipo
ib9EJMZ/u4aVpTRGZ4QWbLr1PuNQAYjuDWA3V6V1DQXWrYc+6E/iI/f1kDP0rg7L
OX4HYhwdfIfYyM9Zd+CNWLzs7msRS8D9ylhTlYVzyF+U/tyKXXqtv8+IAvMTH4YK
l0BHG+0xP8hsr/eW4LaX+7DZljC1ov7x72/IM6RVpZMPjTxDnWqsgA1bDAtRKfvV
O4iYbEIPN643v1X9Pk9KNHmj+zqVHQIbM0v8HczOK4PZWvlaXUtiQl9OWCYauebp
on/Mpus4yeR4C7lDRWBU7KJsqFO7fVZ1cn+NuE9DnJ3hSR25IA4NK2xFABEBAAEA
C/oCb60Q2g/VEcG/ev5Kpde+CEt6wj96ei6NqKWZm7HUO1EoDuccR9/h0sDl/GAO
B3AgGKprI5wDCBlvKZnaaX4vi/7emrRjmHXhWNRq3vE4UNOxhTrWSrlXOyARleH8
Tg06ac/3YQi8OaGiUZ5GWeCzZoq8Xv7ahp4v6KlkzOtFVUe7cWHexSskg77qgMsy
l2paWTWTlx3nQfq2esr01kDlcYSsQtWuZWqw5/LRYwihi8C6GqltiIzSrG2KL5pU
tUybPUpGsIjRnve2NeVeEdwYWC0lkJm5huPRQOcQW5Bj501mMYJH+NGczA68nAO0
92rMZ2RuYxulJJp+gcncB/yVXtspU1icoT4yF9NalBa/dD0QuZiLNoUlhfKYZvr1
jeKd/Cqz0bI14QZ4Itt58AYrA9rHXwEEdOasmC5EYDSPDDDV4yiOKeOxKqcv2K7l
HAulqLpYO+YiNxYtOxuzE4cEpjytaT2+Ukw7v1AOqDUEgcfWr7Ax6eCTwQ3SMUeU
wncGANJZWZCNxTmo/7DJmhsY7cEU/F0lUyJSdxO2j/Bi8L24M3t4++fBK7Wn2mft
J5mrEJbzStVQbbBEoEYhKb9KFPmvi0qtuASXahKgo7D9beQ4VF7m/Cgt8o6A7ZBE
ScCMi9asI9ehi+PKIVkFIEriISAqh/f1WIsY9KSVMNBIePdBt2VqsvVx5TOMy8Q4
y+XMx/xa2cO0PsmVs0WEIwxMmu75m2mGX7xbfCxP8VNKV7xXNsIHhtY63+DlyjEF
mgDhrwYA41pc7b7Rlw/Qij4fPXMB8226dQ9VuxlczQY8R2WdWWV6LcpgNPlD3Wgu
otzYPRZPM+c+TSbwp1q80Tgr021DMka+BbcKiE3rLBg4i4DW5BP3Y3vgf1mYqMs6
4VeJNpkWevC31GsiACS+liDvSTN5oX2571l1w8KsMdyBXTUV5grEL7Ek4GiPZqSx
rv2WypIpfCA1k9bf9ysyZ577KeLFhO9KnuwPYN6pExy4+k10s2ZVYQa1Jbk3rWkk
YT67ZRJLBgCLzGVKoTQMvBqxQrBVkRD8/YCeqbQwCauNAlvjOMX2eMNByXmdXzxj
YFYe0fqfm7pK3MahrFqvkUAQUm1pRjkleOD5Vkf9HbPxIIGulJt0uLUPBGlYafhw
uQvjP9uhJkku5ELtY0CqFece3LH43qGkY9FyZL3GeJ+kZHahEAF4xT1fCzDp2qnT
fM7z5zZOUmJayR5MM0E9w5kSoW8+hTJXMIc+xnXD/2sXK6YKDSsJdM9Sn7uuFKbD
De3M5UodZ6zjF4kBtgQYAQgAIBYhBPP6zkXg3mQsi9ao5kx8ZWLBkswfBQJdoHp/
AhsMAAoJEEx8ZWLBkswfL+wL/iAvSLe1N1udYQlx9sDXGkovIcUmKRTJexjF/c0i
hPJyg5igV1Fe0SbVN3KRohr4Jfiy8KgbY2oUT/j1PAEEiy/+Fve5XUK63ZzhE+pr
RIicpZYgNfO0pIpkoscst9WJ1Cg5+jyHmqSWqCfiSNtlYamxnebSQg2400RcoiT9
C+rwhFAKC4aWqrKlIlMPOv/1Epd7oT/hvZts90D5sVRT/8WRRG4oaa6XvwHHAyxY
08BFgDGoOr1dDaCNBPiRniAirc5MQT4Iu9Tf4xylCz1TD15Gg99Bk+JO9pZrsKn7
y8/bhIYEngB2pJmvMFJadGksPpJOGnWZqqQV3JelRUg6QiVwDVEuCFKo1apyuJwB
jjUeCRWqHo7QJ5pc+tRLY1rsz2I0EtHS9Sb+vVly2pe7c0yTmS3pB2rPA8czIJCA
+CFwmko8A29+JlYHWlsg9RN9NlN3lyH0uifGaegbNW2rmx1xYn11OklfNOW+ouOv
9ZvfTj7FR/OcwlB77uGrGoi3EQ==
=F0gN
-----END PGP PRIVATE KEY BLOCK-----