Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

*: add test for online reload new TLS certificates #2162

Merged
merged 5 commits into from
Feb 27, 2020
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion client/base_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ func (c *baseClient) getOrCreateGRPCConn(addr string) (*grpc.ClientConn, error)
tlsCfg, err := grpcutil.SecurityConfig{
CAPath: c.security.CAPath,
CertPath: c.security.CertPath,
KeyPath: c.security.CertPath,
KeyPath: c.security.KeyPath,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👀

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a bug :(

}.ToTLSConfig()
if err != nil {
return nil, errors.WithStack(err)
Expand Down
10 changes: 6 additions & 4 deletions pkg/grpcutil/grpcutil.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ type SecurityConfig struct {
// CertPath is the path of file that contains X509 certificate in PEM format.
CertPath string `toml:"cert-path" json:"cert-path"`
// KeyPath is the path of file that contains X509 key in PEM format.
KeyPath string `toml:"key-path" json:"key-path"`
KeyPath string `toml:"key-path" json:"key-path"`
ClientCertAuth bool `toml:"client-cert-auth" json:"client-cert-auth"`
}

// ToTLSConfig generatres tls config.
Expand All @@ -40,9 +41,10 @@ func (s SecurityConfig) ToTLSConfig() (*tls.Config, error) {
return nil, nil
}
tlsInfo := transport.TLSInfo{
CertFile: s.CertPath,
KeyFile: s.KeyPath,
TrustedCAFile: s.CAPath,
CertFile: s.CertPath,
KeyFile: s.KeyPath,
TrustedCAFile: s.CAPath,
ClientCertAuth: s.ClientCertAuth,
}
tlsConfig, err := tlsInfo.ClientConfig()
if err != nil {
Expand Down
27 changes: 27 additions & 0 deletions tests/client/cert-expired/ca-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"signing": {
"default": {
"expiry": "7m"
},
"profiles": {
"server": {
"expiry": "7m",
"usages": [
"signing",
"key encipherment",
"server auth",
"client auth"
]
},
"client": {
"expiry": "7m",
"usages": [
"signing",
"key encipherment",
"client auth"
]
}
}
}
}

18 changes: 18 additions & 0 deletions tests/client/cert-expired/ca-csr.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"CN": "My own CA",
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"L": "Beijing",
"O": "Pingcap",
"ST": "Beijing"
}
],
"ca":{
"expiry": "87600h"
}
}
27 changes: 27 additions & 0 deletions tests/client/cert-expired/ca-key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEA3wh9AXig75uVYTj27ZuT+GbcPYN1ue0iH5MK9kqeiDUFOAJM
7BB+j3+RWbbTv/CAO4Gdhe8wIhNa67uoOqfNr5A4FcqgOboO+H59PC1yDNISCoGO
4fr3DSVTT5jWQ03R26e15/lxUGZDkf43NIOlo5PlHYYo7f7pCHJaYQ9U3ZnF393k
TMyoB0MpBflupbMPYLdn++0ND0W2MpWhmFTih1FL5JJ6/PlKqzVHFFNqGIyUGHC9
XnX9jk3v86NJ0WkTBj6mOim6lmQOga1CAsD2O15fLI8S8py2jn0SWT6NDgh6S09Y
Sj5LRZkOwLkBpgBgg/MpchBeN/TmBX5jKNlYpwIDAQABAoIBAQCPEonmPLS4oEy2
Pm2gxPGqIonb6A3IRIdkS9Z3YizKYYDEii1ALeCSOxpJu8+gTC5mfeJH/cUZxuLH
X+0uG2EF43Um/YHFJkbeP34k8V49PTEXjj7TVkPPKgeEgx3HtQ8PYkl90vVOxxtH
dxWA2YaTJZePVfXBnolswraZltUxBXYyrTJZafMrx26Ik6vdjpiS4vP+FejaS/Mq
+JbIUL3iQzYKrQ+EsBG6qjJUZ1gI1q+L+h5bBZHyTUblV/erZ1zlxvkZ1MPGDJ0Z
blR5TDQrQ6Mol5neAUV5GxG8ZdktJMLYFel+g3pmx5ulklza+PIDFOTLcXpwS5ws
LyxZQZdpAoGBAOYwQvXg7FYUjE0fhCjZQFgMYMSkl0LigOOlm8xA+gT20R7MoVYB
LvIG6AfC13t7BZ5Vi/yrbELDnkhc+H8FlKHj3JwapPzH9L94IXAELf+PigsKsJos
p3dpKh4SQ9+SjaW0mLhmYFO15bta6blzIdUgQoLjU//2K+fszPTb+LglAoGBAPgK
05YB2P9Jn4ROQURzlZB6EIIl7urnUMg0mO4KPKfA2u3bXXQb/8uocvI5ZAj3/D/o
FslTuQW4pfciovFn+jfTvZMVr2SsJMTPX154ekTFBzCfzZ0ihT/crnotkKW7EIkp
XQLQbiGvfI5aZ4YhgP0ZyOxc+PH48dfA4JVGdz3bAoGBAKIt0p+lzx1+8LLNx7F4
D4t5fRxO0nu/VgwN/EzWYtDojMHkbq9Huimvj/8X2fYX4QeDQlPM+0O2y2g0iKgF
6Ih/IEmjxCaNQvU70GM5rqbmHN5Ws8KMP5k0MQZq3ANDICVlrkwNZUTVXXy5Ov78
DRQ53GKXg/FNIfYPsv+5k+05AoGAFVmRNsM381lZ8qBtu7+bKxFmpF0xgGSirmjg
lPSqneHatkiAdcMHNHduVW0dMCxwOOv4MiITtetb1bbUgaTqg62lDqj6LNcoXwxe
cBo8o/i1krjekNzszT9ogTm0zp8YYEYALILWR+378aDUclYl7SMwCTBDeUhtQJ3o
dtDW6KsCgYEAhgUxBk8VZnqnZVweB34ITfTDfCCR6W8uyhZhP1b51CRx1wARw08p
G7fEKFdagRH02GHlynJoglmUhjaIireT0or7ONW0oQ8IEU8gmeQe5UP4IwSJ0rH8
7z+IJEWDwpUTr/1mWGkJDZS0vJZVF6V46tm6aowyDs80W5rX/uwTV1k=
-----END RSA PRIVATE KEY-----
16 changes: 16 additions & 0 deletions tests/client/cert-expired/ca.csr
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICnDCCAYQCAQAwVzELMAkGA1UEBhMCQ04xEDAOBgNVBAgTB0JlaWppbmcxEDAO
BgNVBAcTB0JlaWppbmcxEDAOBgNVBAoTB1BpbmdjYXAxEjAQBgNVBAMTCU15IG93
biBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN8IfQF4oO+blWE4
9u2bk/hm3D2DdbntIh+TCvZKnog1BTgCTOwQfo9/kVm207/wgDuBnYXvMCITWuu7
qDqnza+QOBXKoDm6Dvh+fTwtcgzSEgqBjuH69w0lU0+Y1kNN0duntef5cVBmQ5H+
NzSDpaOT5R2GKO3+6QhyWmEPVN2Zxd/d5EzMqAdDKQX5bqWzD2C3Z/vtDQ9FtjKV
oZhU4odRS+SSevz5Sqs1RxRTahiMlBhwvV51/Y5N7/OjSdFpEwY+pjopupZkDoGt
QgLA9jteXyyPEvKcto59Elk+jQ4IektPWEo+S0WZDsC5AaYAYIPzKXIQXjf05gV+
YyjZWKcCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQAcAsP2Ix4UcioZi1QZoQUH
OajonLUFbbCjmVdV8cTWZpAXje1sh/cKzI5jxmlw7BF4J+m206Cb7/vFM+WtL5Qt
kDyVInnuuXsP+7VUEzdchJlarFk5KMkOz9dl3AxXyXwxi4aoMOLpcC8Ye0Emq7bt
aG17jmf3eQLnhyhdzrob9dGDWyRDHI29fI0kiPGu5wciJLW8RiOdeMdquwrkx3n3
FUkGU1d26S/FXR4UMz6iw530JBgp1mDmU3bY5GmtFN2OpURYa3pogwtJ+bjddhSS
NrhOsDnkUdvfQkGz9VR6Vyk9c1kkmLLzfMU2iY4KQiTCPDT/Yaq5JEqG0e1Sl/Ag
-----END CERTIFICATE REQUEST-----
22 changes: 22 additions & 0 deletions tests/client/cert-expired/ca.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
-----BEGIN CERTIFICATE-----
MIIDojCCAoqgAwIBAgIUPbO/J5qmPTaZBDU6gTnWq1iCUPMwDQYJKoZIhvcNAQEL
BQAwVzELMAkGA1UEBhMCQ04xEDAOBgNVBAgTB0JlaWppbmcxEDAOBgNVBAcTB0Jl
aWppbmcxEDAOBgNVBAoTB1BpbmdjYXAxEjAQBgNVBAMTCU15IG93biBDQTAeFw0y
MDAyMjcwMzUxMDBaFw0zMDAyMjQwMzUxMDBaMFcxCzAJBgNVBAYTAkNOMRAwDgYD
VQQIEwdCZWlqaW5nMRAwDgYDVQQHEwdCZWlqaW5nMRAwDgYDVQQKEwdQaW5nY2Fw
MRIwEAYDVQQDEwlNeSBvd24gQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
AoIBAQDfCH0BeKDvm5VhOPbtm5P4Ztw9g3W57SIfkwr2Sp6INQU4AkzsEH6Pf5FZ
ttO/8IA7gZ2F7zAiE1rru6g6p82vkDgVyqA5ug74fn08LXIM0hIKgY7h+vcNJVNP
mNZDTdHbp7Xn+XFQZkOR/jc0g6Wjk+Udhijt/ukIclphD1TdmcXf3eRMzKgHQykF
+W6lsw9gt2f77Q0PRbYylaGYVOKHUUvkknr8+UqrNUcUU2oYjJQYcL1edf2OTe/z
o0nRaRMGPqY6KbqWZA6BrUICwPY7Xl8sjxLynLaOfRJZPo0OCHpLT1hKPktFmQ7A
uQGmAGCD8ylyEF439OYFfmMo2VinAgMBAAGjZjBkMA4GA1UdDwEB/wQEAwIBBjAS
BgNVHRMBAf8ECDAGAQH/AgECMB0GA1UdDgQWBBSktUF7xrXV//2h1KeL6I1VXejz
8jAfBgNVHSMEGDAWgBSktUF7xrXV//2h1KeL6I1VXejz8jANBgkqhkiG9w0BAQsF
AAOCAQEAJRus+wyu9bJCaISJtKa4Et/tfhguW0H3V29/8yby38pO8YLwR2p8/5jz
ciL8xSyEhOp9y6YDZTyeO5pLCaJZ2H53BizM/e/wJz+J5apkFOWFyACO9dl924w1
1d47kbXXv7TNm16fY9ja3ss85MdazeH5OKnvAMlapltylJhVd8uCCRx5GdFvFbim
UtzR1qirP+uOhF8tYbsGYS1mzsJKCXe3TENkKIsvrPWTtbEvAvDJLqXFTsFEdCF8
JGLjg/BXawVOY/RAVfjnWMgFjP0SY8itIfbjUPYfwPzUKkKYbH3/MZzoiSkutmJW
Z/qj9gWY5UovzwzaWde/FrNiaiJGdQ==
-----END CERTIFICATE-----
27 changes: 27 additions & 0 deletions tests/client/cert-expired/client-key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAo92Lb5C+BcSxfjEnYAlaJycaA8+acuElRV3VKgWzLzWpvjfU
6cpTwhNYEYDqx9DbLwsdmz3IE+V6MncI/jHtqmKYgJ0uTO80dcCWj8Ej5NZBmtw6
fJkcO535caO/dzywWY/O6claTNF3mBTVTirVc7lUccmqQUfrHEZYeQNvrAlSZN5n
ToHaJgU52UpbO1rl43A9fgTD9OSAWPjCgOrJgnXiDBOUV2lNO00xTTyKhAw311C+
ALI6juHDcpEdOgawgToyDSe73QWNz4LWJ0AQc3tvwdAReTzH8iEsjxfSeg/OvWBb
yKt/UNWFhsRd3lnKci+xutgpP2dvTEZgLCdFsQIDAQABAoIBACteWiX31+Ls8NDm
L3aiYwLTvXXevxDCd7vJHr6VbZwEBt26JxaNHufReNCBHyItK6Viur44driVVmb+
zBmCm1Up7RS1BOkFsgusIe0AAADzl79lo/EQEMHSiI9D+EuVe1Lo1alYShbkpVNR
yDZ87atIFIpdBjtqzlXYZFf6ydZs4L/noVxqXqgkzUi4v+1QPFMO+dDcsoxFWM8R
42pCndEmXSxfSW8WkB+yeh++/3hGNmqTL8rVVI2So+JXC/3eSRgMsB+T+zzs7Ltu
fBpyAzkULT1TOk70nqXKN5mJMXVs4mtSS5Fog/pOL0s6IMh0rb/kSGsPY1pmXVyk
L7p9DiUCgYEAziWIf7oR4x6tABjPArpZzDcWoPSYxHAvf4Vq/7E3jpOnopYfGHZ5
Lyc23EyFELi8beD69u9B4p9b8jIJH2lzhKsAz3BAeLEPLkNmJTzsBtcKQmJIp5TH
fR3S0ylFLJfI+1i03b8stE7Ybs901Gbiz97n0W5mD7H/61cuKLwbtscCgYEAy35l
fItz8usDyAYWDs9QkdbO4D12g/Q61t/SvSB2Z+/4DmPWrEibeETIty2oLpOot97Y
GMZ5fRJK81ip50dPMMLv3dle46LcYx0iO5Cxf5DowJrASV/+mpjm4XtrMz1DPdWR
Zkdsj0ABOi0zpEpagU30s/Tle12HhGKlDx69R8cCgYEAuMatxgcLd2+Mk/SowQI1
8TVDpDv6HsGL4Zq+ILhBWxwAe1xiPPQchWZ55xbzgtyDkV3CtcoZXT+IE9xDjxNf
RwBcNpOgRk42lDo3eZNU4ICpon0kMInMEdrEmR958JGQxbJqVATC1k+B8jkjuCsM
jFR5p6Bz/QeIo/K93idWFAsCgYEAkfbDExfwfqFG4BZFgjAAyet8DurndPUds31u
60w6wokltCS3GnMmWZl1I7ezOF2gGuvUs8jB4g3aBz1k+clzqzVY2xgNcVkjnlCK
epFqUGeAHI+kN72MohXlHn3pwiJCdjsYBXZcD1DI0JMVxNW0n6VsThzu8pN/Hl2n
qfXRrYcCgYEAgzW0DgQHU3BYuBVkgn/uZoyanJGaFQQDh6UAX/ATIZ0p3kG5ASr7
z1oaVVRKv7XdJq+BjRGN1DdmPupRZI1GPKtpD++zhJ5mIJOMNWSMP5+jn7Y+DJAx
IMEgGrYuGiQbMq8hZt6WyC5g3/UCK+j+ag8vXp5snnJOYo/pKuklDxM=
-----END RSA PRIVATE KEY-----
16 changes: 16 additions & 0 deletions tests/client/cert-expired/client.csr
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICdDCCAVwCAQAwETEPMA0GA1UEAxMGY2xpZW50MIIBIjANBgkqhkiG9w0BAQEF
AAOCAQ8AMIIBCgKCAQEAo92Lb5C+BcSxfjEnYAlaJycaA8+acuElRV3VKgWzLzWp
vjfU6cpTwhNYEYDqx9DbLwsdmz3IE+V6MncI/jHtqmKYgJ0uTO80dcCWj8Ej5NZB
mtw6fJkcO535caO/dzywWY/O6claTNF3mBTVTirVc7lUccmqQUfrHEZYeQNvrAlS
ZN5nToHaJgU52UpbO1rl43A9fgTD9OSAWPjCgOrJgnXiDBOUV2lNO00xTTyKhAw3
11C+ALI6juHDcpEdOgawgToyDSe73QWNz4LWJ0AQc3tvwdAReTzH8iEsjxfSeg/O
vWBbyKt/UNWFhsRd3lnKci+xutgpP2dvTEZgLCdFsQIDAQABoB4wHAYJKoZIhvcN
AQkOMQ8wDTALBgNVHREEBDACggAwDQYJKoZIhvcNAQELBQADggEBAH0WbgQ3vny+
Axtki5uoz5mGezM8CZT13nR6G66p00Lo9HM0H3hPyScnbyX0D2OymvzmSr/CcsYQ
P/r9nJ9vCtUDbkxSypSacgzwfRwpTFuF9prj39BdyDUrDD7Y3oGhr+6SBI7zk6dB
L4zSX0BcTiXDvKtgMgPGAj0H+JcnHNvjJuMCQE3UEVCfKu8jqNtOXY5gbTdNZJKC
64vG7+nbQBjctNOEPyEtWR2r7jYKBjvBjR80uImXQ/mB/Ka5FfQ0l403gDg6837P
3wWyLd5c8xxPBCFmWv/rwwb5/myT5V4+ozAmFnyyFl/LjAwlcJtypN8wsFTrnpyB
xNkKWnuu0Z0=
-----END CERTIFICATE REQUEST-----
21 changes: 21 additions & 0 deletions tests/client/cert-expired/client.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
-----BEGIN CERTIFICATE-----
MIIDejCCAmKgAwIBAgIUc2EiY1NOtJN/411QByfHK/I6eMcwDQYJKoZIhvcNAQEL
BQAwVzELMAkGA1UEBhMCQ04xEDAOBgNVBAgTB0JlaWppbmcxEDAOBgNVBAcTB0Jl
aWppbmcxEDAOBgNVBAoTB1BpbmdjYXAxEjAQBgNVBAMTCU15IG93biBDQTAeFw0y
MDAyMjcwMzUxMDBaFw0yMDAyMjcwMzU4MDBaMBExDzANBgNVBAMTBmNsaWVudDCC
ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKPdi2+QvgXEsX4xJ2AJWicn
GgPPmnLhJUVd1SoFsy81qb431OnKU8ITWBGA6sfQ2y8LHZs9yBPlejJ3CP4x7api
mICdLkzvNHXAlo/BI+TWQZrcOnyZHDud+XGjv3c8sFmPzunJWkzRd5gU1U4q1XO5
VHHJqkFH6xxGWHkDb6wJUmTeZ06B2iYFOdlKWzta5eNwPX4Ew/TkgFj4woDqyYJ1
4gwTlFdpTTtNMU08ioQMN9dQvgCyOo7hw3KRHToGsIE6Mg0nu90Fjc+C1idAEHN7
b8HQEXk8x/IhLI8X0noPzr1gW8irf1DVhYbEXd5ZynIvsbrYKT9nb0xGYCwnRbEC
AwEAAaOBgzCBgDAOBgNVHQ8BAf8EBAMCBaAwEwYDVR0lBAwwCgYIKwYBBQUHAwIw
DAYDVR0TAQH/BAIwADAdBgNVHQ4EFgQUWJpKaemXoYL7mQFflkeejKsYHaUwHwYD
VR0jBBgwFoAUpLVBe8a11f/9odSni+iNVV3o8/IwCwYDVR0RBAQwAoIAMA0GCSqG
SIb3DQEBCwUAA4IBAQAa6qNPFuIcDEXFXVqkiqehDwWn5vhSvTRCBP4fHsuUC9GZ
8L/ymED0DlwuWlxREeT4FV4OYda4QLLzcsyDGJYkYCwb6QNAgnrm54THxCWcP5nq
KgGIQtJKA0ML9doDMjLU9BbPYj+SFI6A7lzHDoT9Qq9o7n+Ef8idSJOWjr4OY9G7
udlnEL/HvB/E4yfBcjxCzIV8EGU+aQHtisQpxAcDxqSpCzGjedZ7zZSg/4Y3KzzD
deVVRO7GHt1fGEQUfop5L5IIPHgqIjO/wKdXe+A0UaoLzz3JJL5xymSBiRGt2dIJ
WZRbIDYCumtIzwoILIvAmAJZVHimvWBV39yiVT4R
-----END CERTIFICATE-----
18 changes: 18 additions & 0 deletions tests/client/cert-expired/gencerts.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash
if ! [[ "$0" =~ "./gencerts.sh" ]]; then
echo "must be run from 'cert-expired'"
exit 255
fi

if ! which cfssl; then
echo "cfssl is not installed"
exit 255
fi

cfssl gencert -initca ca-csr.json | cfssljson -bare ca -

# pd-server
echo '{"CN":"pd-server","hosts":[""],"key":{"algo":"rsa","size":2048}}' | cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=server -hostname="localhost,127.0.0.1" - | cfssljson -bare pd-server

# client
echo '{"CN":"client","hosts":[""],"key":{"algo":"rsa","size":2048}}' | cfssl gencert -ca=ca.pem -ca-key=ca-key.pem -config=ca-config.json -profile=client -hostname="" - | cfssljson -bare client
27 changes: 27 additions & 0 deletions tests/client/cert-expired/pd-server-key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAtmzUQNZ9BqLQJWpx9V0/kRB789TQ+sO3boWpLCn2eZO6e8+f
sa22jrYp4SHG7kpgUFnQ9k+HgWO6lOesjKrB0BYqzN9y3jqvwy/A7jw4UVirSX2t
eFmRmsUjActC2Efym0lqix74ybAzr5J3K5EpbWEmJXm7wilkfT6tLud+FWqQA+k9
M9OCAQYSVzGMrWCqcUEWJvD3l/y14ksr3ZK9wHi3r79HFJFRaO+uiUc289t3fAPJ
VJYLTnGX1HRGmbDn7Og1vQth1BYvbjKFGNeOaSlJZsnt6Wu7clF2ANYYzq+X5HuS
BRmUlHvh9LXfNnOPZfRKRRHLLPTH+ff3GjHWdQIDAQABAoIBAQCH9ZxLppAP/hA7
kpXUVOcnaq23EImgG3X+vUdUTwIPonZ+CEPw3JMO0d1smQv2VSBrQkVnDebkHDvW
9sO3IxzHxX2oq3ClCAAu7MxRwjgHCJrAbxZ2d+r4+qwYjjEHmLfL3G+3uCGbz+L1
m6eNpObHSnxvucah8s+eOLRCHO3vbvURAVLME8f3BG8sNH9je7EaPxS9CicYvGYu
0GTqO5PzWkZVFh6Z640prz0gtyDytaqgMXj9zpCaZa6d6gXQu/CPe6OpimBwVPFA
Lu2liQSIxcWNIlGedxm+45ancSfEMeiSRcthgMM1knuduIT+ZFje8SIY5sCQD+kG
jlvUXBuBAoGBAOtm/hhoq4FLa/PIFoUZ2t3XsUVHG9TFZ6OYCCGPV4qAVbLDcdRP
fMgSIwO5mq1etwCJaMawieUYVvj7dS7dREq8R68c9EnFdFJJ8tBu6y06ogTiGiIG
gMmM7tGEXWvFRaMsdllFLQT7OpcjxJl1NksYp0E9peNaZuaaHTlcIOm9AoGBAMZj
JfNktY5lKIrGhFu/6OV0LkXAfwMmlyxv7ARmlvOGACAIpPpDt3qdiEQAJJ1SWyzu
uf1so9uyn1Je2k0TpjKA67sSptFO3GOVFHeHO9iQ/M33+Ogp5oUvAaF47eopq3d0
Ko0YKeu/TA/XZh2SOrvjay1URg5807qjwyoS478ZAoGAdeLaFPc2DEXtBeSKApX0
GWzPBdaahW9me3LDf6r9OAsU37Uo6B32a2tJxa/JWlE4bDhkFDyMkgIibAXhpVqB
vLuVWoixfdA4dI074E3r0HawdKmWVLvU+xps7tfOwQ3F1fWKPyJ5bSkzKkVrSz57
thfeirmIvdaj+Y/sWrFcejECgYEAggd8WWJZ6YH+J69kE2resH4M0iUQWrVRgou9
K0k+iVD8BgMEdxApU1Grfb6GQSM4pWO3PhaV86rI6ElJVhmZ5iI/37ai5i+FHjQZ
XRqjLBgjyrBMUYcdE5Ayxm4nqkIzo7DdLut2lpEkvoFU6e7tVjcCCYzh+h7w+7TY
d1w4MAkCgYEAuUt5lj0pGfhOb716PG6+EEmGDVh7Q7X15idptY+SytnW1cokcxEj
t6ZhFHZbj4v1Yxs+ra42zacN3GshXWU+29ZKmGxRMYvg+qKIfTb2XM1do7ZtXrbe
HgAq/9qXGLrfsDspFzjj0DvZ66j+qP4Ptfk5ryKATrhebMNyD4r6Gj0=
-----END RSA PRIVATE KEY-----
16 changes: 16 additions & 0 deletions tests/client/cert-expired/pd-server.csr
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICdzCCAV8CAQAwFDESMBAGA1UEAxMJcGQtc2VydmVyMIIBIjANBgkqhkiG9w0B
AQEFAAOCAQ8AMIIBCgKCAQEAtmzUQNZ9BqLQJWpx9V0/kRB789TQ+sO3boWpLCn2
eZO6e8+fsa22jrYp4SHG7kpgUFnQ9k+HgWO6lOesjKrB0BYqzN9y3jqvwy/A7jw4
UVirSX2teFmRmsUjActC2Efym0lqix74ybAzr5J3K5EpbWEmJXm7wilkfT6tLud+
FWqQA+k9M9OCAQYSVzGMrWCqcUEWJvD3l/y14ksr3ZK9wHi3r79HFJFRaO+uiUc2
89t3fAPJVJYLTnGX1HRGmbDn7Og1vQth1BYvbjKFGNeOaSlJZsnt6Wu7clF2ANYY
zq+X5HuSBRmUlHvh9LXfNnOPZfRKRRHLLPTH+ff3GjHWdQIDAQABoB4wHAYJKoZI
hvcNAQkOMQ8wDTALBgNVHREEBDACggAwDQYJKoZIhvcNAQELBQADggEBAElCcTJa
65SJyeyzRFUsf6QTUUGGt5OCKQwLfUwWf1SY8h9qHWz8opBQ53hWR004kUo6TfRi
mV3wguzDYNfscBkDEITOvKMYmWpruoJtzGzVmzSE16EFI2XOrV1YRq+0s3u4gDJK
HvPdL5barh7W+NkZItr6dDGKc7tMwPrhBs7Lo4v60NM16sJQRgNIOZzaAk+e+Exx
vG6n9E8mjXW4sl1xovkcQCG6JaPLCdve3/4MD2pbZOlL8V+KtII/7T5UlgIlDkpt
fsODEeARcRUAkivjFGNIdY1VOJ9uq990vameztNecCNTMiRNNW7ObSC/2Gwbq1+f
uBUt2QfzN0+AT6U=
-----END CERTIFICATE REQUEST-----
22 changes: 22 additions & 0 deletions tests/client/cert-expired/pd-server.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
-----BEGIN CERTIFICATE-----
MIIDljCCAn6gAwIBAgIUImWBDH7tmmm3XLbnnM6ursx5B4cwDQYJKoZIhvcNAQEL
BQAwVzELMAkGA1UEBhMCQ04xEDAOBgNVBAgTB0JlaWppbmcxEDAOBgNVBAcTB0Jl
aWppbmcxEDAOBgNVBAoTB1BpbmdjYXAxEjAQBgNVBAMTCU15IG93biBDQTAeFw0y
MDAyMjcwMzUxMDBaFw0yMDAyMjcwMzU4MDBaMBQxEjAQBgNVBAMTCXBkLXNlcnZl
cjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALZs1EDWfQai0CVqcfVd
P5EQe/PU0PrDt26FqSwp9nmTunvPn7Gtto62KeEhxu5KYFBZ0PZPh4FjupTnrIyq
wdAWKszfct46r8MvwO48OFFYq0l9rXhZkZrFIwHLQthH8ptJaose+MmwM6+SdyuR
KW1hJiV5u8IpZH0+rS7nfhVqkAPpPTPTggEGElcxjK1gqnFBFibw95f8teJLK92S
vcB4t6+/RxSRUWjvrolHNvPbd3wDyVSWC05xl9R0Rpmw5+zoNb0LYdQWL24yhRjX
jmkpSWbJ7elru3JRdgDWGM6vl+R7kgUZlJR74fS13zZzj2X0SkURyyz0x/n39xox
1nUCAwEAAaOBnDCBmTAOBgNVHQ8BAf8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUH
AwEGCCsGAQUFBwMCMAwGA1UdEwEB/wQCMAAwHQYDVR0OBBYEFMuZjO81UxYHG3oX
8/yYst7QNWrlMB8GA1UdIwQYMBaAFKS1QXvGtdX//aHUp4vojVVd6PPyMBoGA1Ud
EQQTMBGCCWxvY2FsaG9zdIcEfwAAATANBgkqhkiG9w0BAQsFAAOCAQEAep91Vx/n
PLfE/HLxUpG0/CQFZ96BbR2KNmNQZ3YrDaEdiou186sT9sJ8cSW2EuumLBNggWPh
kx7zE9AjJsNhe2tYnPefpkYTr0nJKyqyR5I9qg2yWm1bzCJ0dIx8yecfCOLFZQaM
4ihcF8O8OYijlEZOwJ5QhTnNoJ23hYsg2JgkhhaQMXTDYRYQ06QGz08dBwczAOyF
AXvUDzIArRRM7ELPBGlaerBwsJNyYV6m4tpZ+SkvXspGsRQ5glf2N1zGMI+wUuyX
YTJT7ajpOhq5KO2klWw5w3nmAsCh2xZsu26z2vTCKRfs4tic+Y9N4LNONkx5wQuR
V7KQe54/wOhlGQ==
-----END CERTIFICATE-----
27 changes: 27 additions & 0 deletions tests/client/cert/ca-config.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
{
"signing": {
"default": {
"expiry": "87600h"
},
"profiles": {
"server": {
"expiry": "87600h",
"usages": [
"signing",
"key encipherment",
"server auth",
"client auth"
]
},
"client": {
"expiry": "87600h",
"usages": [
"signing",
"key encipherment",
"client auth"
]
}
}
}
}

18 changes: 18 additions & 0 deletions tests/client/cert/ca-csr.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"CN": "My own CA",
"key": {
"algo": "rsa",
"size": 2048
},
"names": [
{
"C": "CN",
"L": "Beijing",
"O": "Pingcap",
"ST": "Beijing"
}
],
"ca":{
"expiry": "87600h"
}
}
27 changes: 27 additions & 0 deletions tests/client/cert/ca-key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAyW4ndkuzRmBAy+Ur7hV6kTjcP1Fog5z+W0d6RxT9AG47S9HV
QLYuiGwib/GhkOgH6SvEOJ36Rkc1vhoskHbqdWNlaPJYWXDZrc+hHgK1AKeFSkZk
XivAW+x2yD1vj6m6m8nPerR9kG653eIpCrv6izdWFQix2yUzTxvQUR/MXyKoeD2V
5A63pLg/F2Nk/N8VW790y8Ld/4zv/z4pO+JoU015hnXuQ5Iiqf08qtzElSEwPDT6
r2vgDc+82t3RxJ3UYznvdhyY+/4SI2J3R0n5s8NHqLum4FXIARyEB/T0mPY+0BL8
hLKkA3F5z2xW635iO/eHK1e2CcMaeqyED4l3SwIDAQABAoIBAAKZp2zBgWjxKST4
ql6CbHifcUhn9p9sUWRAQfXU8Ycl5SIPbV9Oer9MFg234swKEsARzpCkiWyK0sjH
cbfTsScex1pZdoaBDG5P9dZ7VnbRssjIq9cDXZJSNR5UnLIQENad/k2pMs3AgCm7
F6iJ0KwnZLcUy6b2jfkBdOj3Lh40QG2XJLf0YV6f9d+Ib7Q6U9cC1ryjsNQDT6Y3
b0h8SYQQyVwgStmJ8IfAB7LQuZUIHrryld1yawHERVS4AQbxhXYpqVBrzwLSx3KU
/AIhEWnfuKo90hTpJWQgo+JdvkgFTW1THbqRRJxKpLQ6XhIezosVxCh+KY6LhZYL
IoIdTJECgYEA/uTj5AcZlnxGjQDm1MMJ/ICQf8Sq41Rkkm0mgmWHnL6csQuJrASn
l/7Pj+WFvo3G17ejECGFGGR74sUnaODeAsP3IZU/dlOSPT/lJHMoq+UNSneu8vVA
6MEYHJoPDQIZX8VChi9Xm8lRJKokJn7E3S3RwFLT2FVrHWJJXQsx/q8CgYEAyk3h
xYCia+YTIjQMOhYds2HwF66a3Rp49Z55PY53PUB54jpFiIAJ/cAw3iQ6dXWW8Bmo
EBEk+nFDLeiGEg8oZWMBmc5eNwsh6kOV9UpsfLplVY/rUaeIX8XB1A+ZdBE9Q+vI
4Yy7ggF2kze4D5ijiB0vFXGIsU+Nz9Yzx59U2CUCgYEAtNF05L8wpLNWbRKVrZsK
i4g8eZbvT0L/8Wvi5J/XuxbxGxs/N7s5lLabUc4VuZ7jzwWjdH8C5tHpnG4Vze2v
MLEJsFYq5erVFAQurlPPJ1neutP6VLosqLDKRQf441Z435qU3ZHaCVaf7G2SJYjK
aMjnQhK/23iE+xxNROb7OVsCgYEAvHQUjyEnLJAk3sXRZgLYJBRlzgnPJYzVhSjd
FCS0mxCG+eECiQeNRx5T53ukIWsq8ftUfbMa2VnNFOT4j7YjEV9LTHXbejcantna
xadQrFgOscfhlC0WcvELgHoPnvm4Mp9ggAvTWGX4iWdsRMsR+2gERlt+1H2hQyzt
C1Y3eSkCgYEAgR2FO4zZ9kYYRxqoE+4oqFEleoNWbeEmb4Gtqw8A2z3+AJQGoey7
Q/RepkYl6/HvL+Q+SDSwK8jlw4IyCgBhJ0BOvFzgMuwz0qbI+mgFCAX+ShNfdNBi
kfKH1aRftid/O2na1b3kreiJiHIAMpO1aLoF/eE3DuHlv7VcOndiSPY=
-----END RSA PRIVATE KEY-----
16 changes: 16 additions & 0 deletions tests/client/cert/ca.csr
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE REQUEST-----
MIICnDCCAYQCAQAwVzELMAkGA1UEBhMCQ04xEDAOBgNVBAgTB0JlaWppbmcxEDAO
BgNVBAcTB0JlaWppbmcxEDAOBgNVBAoTB1BpbmdjYXAxEjAQBgNVBAMTCU15IG93
biBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMluJ3ZLs0ZgQMvl
K+4VepE43D9RaIOc/ltHekcU/QBuO0vR1UC2LohsIm/xoZDoB+krxDid+kZHNb4a
LJB26nVjZWjyWFlw2a3PoR4CtQCnhUpGZF4rwFvsdsg9b4+pupvJz3q0fZBuud3i
KQq7+os3VhUIsdslM08b0FEfzF8iqHg9leQOt6S4PxdjZPzfFVu/dMvC3f+M7/8+
KTviaFNNeYZ17kOSIqn9PKrcxJUhMDw0+q9r4A3PvNrd0cSd1GM573YcmPv+EiNi
d0dJ+bPDR6i7puBVyAEchAf09Jj2PtAS/ISypANxec9sVut+Yjv3hytXtgnDGnqs
hA+Jd0sCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQCBDCdUp4A66y68NhcouGdm
xYPXMiG7egVjKoW0cm47g7ezbrJsoHRZqfKaBlN0B1Z2AR6JW2Ucl7mjCeMrogwo
7I/fRbpHeFSIPXRL5puzF3Ph6t6JcLDuWpUli2wvJpGNJqaVMGiOisaWs4ewpBgU
LKUQauG8jyUzfpYp6t+MgmTVGjB3Ml92QwphXuOJfk/n73suHGfEC+eCz4gs8MVE
mR+5os4Dwj3Gnk2915iqdqVYc2YXBon9PW8DjmqPteRtL/va849mqwvsH9z3hrGS
G6zWPpnvEYcTBNfoEbtvfpnIs8pdWpRS9aGAgRcQG2iZWCKe0xKg2GKEACNeRuux
-----END CERTIFICATE REQUEST-----
Loading