efps-version
elf 2 years ago
parent 2200f15a2b
commit e704371b1d

@ -0,0 +1,14 @@
-----BEGIN CERTIFICATE-----
MIICDjCCAXegAwIBAgIUQUeIOIQA9BTBrFUWQtn4XBmRa4wwDQYJKoZIhvcNAQEL
BQAwGTEXMBUGA1UEAwwOMTQ2LjcwLjExMy4xNjUwHhcNMjMwNTIyMTMxMjE0WhcN
MjQwNTE2MTMxMjE0WjAZMRcwFQYDVQQDDA4xNDYuNzAuMTEzLjE2NTCBnzANBgkq
hkiG9w0BAQEFAAOBjQAwgYkCgYEAwCPaaIJ3HYe+oMI4iC6lKz9acPMgAXqpjnm8
gxbLviGN9Iuec2u6ps4CIfu4fbR6CjABchYxCXKDRVlivqDeQIG4JPozR6KQnexP
4/xLzE2ZcT/isAC60lXVb/yseJ7QqIk3iTGoUFO6P6OU8UchzI9mBkpErxZELlt8
/WfkwhkCAwEAAaNTMFEwHQYDVR0OBBYEFLWYBOU89B+dVyOWq3onEtwzMBkzMB8G
A1UdIwQYMBaAFLWYBOU89B+dVyOWq3onEtwzMBkzMA8GA1UdEwEB/wQFMAMBAf8w
DQYJKoZIhvcNAQELBQADgYEATliJx0Lb/Kdp9l24ccRGJEUe144c4fPo93Wb6HQ1
zBSf/aetY1LGjHEV/0Vqavlj8cshya3gxkpPm1aW1t2qGZsKFsK+wY0r6SplxoxT
kDB3ZJHBIAKwIxoAwmXA/Hg9YlRUbBk8J2PR4JDbp1fJ9+Ecako9gD+Z1uv3I/r2
Nac=
-----END CERTIFICATE-----

@ -0,0 +1,15 @@
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQDAI9pogncdh76gwjiILqUrP1pw8yABeqmOebyDFsu+IY30i55z
a7qmzgIh+7h9tHoKMAFyFjEJcoNFWWK+oN5Agbgk+jNHopCd7E/j/EvMTZlxP+Kw
ALrSVdVv/Kx4ntCoiTeJMahQU7o/o5TxRyHMj2YGSkSvFkQuW3z9Z+TCGQIDAQAB
AoGAeAht84g9vdcFwgxToM/zI3dqmtFoF0R4FKf8mrBtDBSOSE3I6TZN3tMoBe7p
rK5I54BiBtHSRKKjW3mh9JEvBmvHQLudbYL2YAW6OLiuLFFZRQRZVqXkKiRSmgGN
nIN4caYVEHTL5yOmERofR99mhKFpzd/MKVutbf7YRBCdyOECQQDtOl8klQfhk8ir
mL2Ww8Z8Rt1EQZUxwzDiJOZV/iwWUtMGUbL2zwFXGbWYA7lpFNMRNdb4+tUtVyyA
S9K4Ms41AkEAz1gdlIBELak9eROAEWBS9F2UoraIbIgOcl8zLLRjgvIT/3xP5Y8j
i6hM6sm31PTtI07dglKCopChllKZyshw1QJBAOLakgc6mMnHd/tYWdylpNZNMeTG
znRC0yk+3iFXqTNDytbdI8XPGNoBFN2kmhZ5uolXshZwT5FHLqAVYhGRTA0CQQC/
wzr4UPi9UjzsccCMUY3nO3VwV2ktF1hlJu7pdZxjSwh7zbkHEq9JRsp8iztd1XhM
o2/yS+VN/H21zYc3KNJRAkAkwJvz7KyoZyoUIxrdynSuLYdOS71zm4jYLxumqQ2H
4UNFdQ4Jzx4sUgP6qgT3gs0Ovo9Jjn6A8UnvvCvpFl1h
-----END RSA PRIVATE KEY-----

Binary file not shown.

@ -0,0 +1,15 @@
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQDAI9pogncdh76gwjiILqUrP1pw8yABeqmOebyDFsu+IY30i55z
a7qmzgIh+7h9tHoKMAFyFjEJcoNFWWK+oN5Agbgk+jNHopCd7E/j/EvMTZlxP+Kw
ALrSVdVv/Kx4ntCoiTeJMahQU7o/o5TxRyHMj2YGSkSvFkQuW3z9Z+TCGQIDAQAB
AoGAeAht84g9vdcFwgxToM/zI3dqmtFoF0R4FKf8mrBtDBSOSE3I6TZN3tMoBe7p
rK5I54BiBtHSRKKjW3mh9JEvBmvHQLudbYL2YAW6OLiuLFFZRQRZVqXkKiRSmgGN
nIN4caYVEHTL5yOmERofR99mhKFpzd/MKVutbf7YRBCdyOECQQDtOl8klQfhk8ir
mL2Ww8Z8Rt1EQZUxwzDiJOZV/iwWUtMGUbL2zwFXGbWYA7lpFNMRNdb4+tUtVyyA
S9K4Ms41AkEAz1gdlIBELak9eROAEWBS9F2UoraIbIgOcl8zLLRjgvIT/3xP5Y8j
i6hM6sm31PTtI07dglKCopChllKZyshw1QJBAOLakgc6mMnHd/tYWdylpNZNMeTG
znRC0yk+3iFXqTNDytbdI8XPGNoBFN2kmhZ5uolXshZwT5FHLqAVYhGRTA0CQQC/
wzr4UPi9UjzsccCMUY3nO3VwV2ktF1hlJu7pdZxjSwh7zbkHEq9JRsp8iztd1XhM
o2/yS+VN/H21zYc3KNJRAkAkwJvz7KyoZyoUIxrdynSuLYdOS71zm4jYLxumqQ2H
4UNFdQ4Jzx4sUgP6qgT3gs0Ovo9Jjn6A8UnvvCvpFl1h
-----END RSA PRIVATE KEY-----

@ -0,0 +1,15 @@
-----BEGIN RSA PRIVATE KEY-----
MIICXQIBAAKBgQDAI9pogncdh76gwjiILqUrP1pw8yABeqmOebyDFsu+IY30i55z
a7qmzgIh+7h9tHoKMAFyFjEJcoNFWWK+oN5Agbgk+jNHopCd7E/j/EvMTZlxP+Kw
ALrSVdVv/Kx4ntCoiTeJMahQU7o/o5TxRyHMj2YGSkSvFkQuW3z9Z+TCGQIDAQAB
AoGAeAht84g9vdcFwgxToM/zI3dqmtFoF0R4FKf8mrBtDBSOSE3I6TZN3tMoBe7p
rK5I54BiBtHSRKKjW3mh9JEvBmvHQLudbYL2YAW6OLiuLFFZRQRZVqXkKiRSmgGN
nIN4caYVEHTL5yOmERofR99mhKFpzd/MKVutbf7YRBCdyOECQQDtOl8klQfhk8ir
mL2Ww8Z8Rt1EQZUxwzDiJOZV/iwWUtMGUbL2zwFXGbWYA7lpFNMRNdb4+tUtVyyA
S9K4Ms41AkEAz1gdlIBELak9eROAEWBS9F2UoraIbIgOcl8zLLRjgvIT/3xP5Y8j
i6hM6sm31PTtI07dglKCopChllKZyshw1QJBAOLakgc6mMnHd/tYWdylpNZNMeTG
znRC0yk+3iFXqTNDytbdI8XPGNoBFN2kmhZ5uolXshZwT5FHLqAVYhGRTA0CQQC/
wzr4UPi9UjzsccCMUY3nO3VwV2ktF1hlJu7pdZxjSwh7zbkHEq9JRsp8iztd1XhM
o2/yS+VN/H21zYc3KNJRAkAkwJvz7KyoZyoUIxrdynSuLYdOS71zm4jYLxumqQ2H
4UNFdQ4Jzx4sUgP6qgT3gs0Ovo9Jjn6A8UnvvCvpFl1h
-----END RSA PRIVATE KEY-----

@ -0,0 +1,6 @@
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDAI9pogncdh76gwjiILqUrP1pw
8yABeqmOebyDFsu+IY30i55za7qmzgIh+7h9tHoKMAFyFjEJcoNFWWK+oN5Agbgk
+jNHopCd7E/j/EvMTZlxP+KwALrSVdVv/Kx4ntCoiTeJMahQU7o/o5TxRyHMj2YG
SkSvFkQuW3z9Z+TCGQIDAQAB
-----END PUBLIC KEY-----

@ -0,0 +1,19 @@
Bag Attributes
localKeyID: 4C D6 B4 45 B9 48 51 D8 15 A5 38 EF 4B 2A B5 EB 76 3D AE CA
Key Attributes: <No Attributes>
-----BEGIN PRIVATE KEY-----
MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMAj2miCdx2HvqDC
OIgupSs/WnDzIAF6qY55vIMWy74hjfSLnnNruqbOAiH7uH20egowAXIWMQlyg0VZ
Yr6g3kCBuCT6M0eikJ3sT+P8S8xNmXE/4rAAutJV1W/8rHie0KiJN4kxqFBTuj+j
lPFHIcyPZgZKRK8WRC5bfP1n5MIZAgMBAAECgYB4CG3ziD291wXCDFOgz/Mjd2qa
0WgXRHgUp/yasG0MFI5ITcjpNk3e0ygF7umsrkjngGIG0dJEoqNbeaH0kS8Ga8dA
u51tgvZgBbo4uK4sUVlFBFlWpeQqJFKaAY2cg3hxphUQdMvnI6YRGh9H32aEoWnN
38wpW61t/thEEJ3I4QJBAO06XySVB+GTyKuYvZbDxnxG3URBlTHDMOIk5lX+LBZS
0wZRsvbPAVcZtZgDuWkU0xE11vj61S1XLIBL0rgyzjUCQQDPWB2UgEQtqT15E4AR
YFL0XZSitohsiA5yXzMstGOC8hP/fE/ljyOLqEzqybfU9O0jTt2CUoKikKGWUpnK
yHDVAkEA4tqSBzqYycd3+1hZ3KWk1k0x5MbOdELTKT7eIVepM0PK1t0jxc8Y2gEU
3aSaFnm6iVeyFnBPkUcuoBViEZFMDQJBAL/DOvhQ+L1SPOxxwIxRjec7dXBXaS0X
WGUm7ul1nGNLCHvNuQcSr0lGynyLO13VeEyjb/JL5U38fbXNhzco0lECQCTAm/Ps
rKhnKhQjGt3KdK4th05LvXObiNgvG6apDYfhQ0V1DgnPHixSA/qqBPeCzQ6+j0mO
foDxSe+8K+kWXWE=
-----END PRIVATE KEY-----

@ -10,7 +10,6 @@ use App\Service\MerchantService;
use App\Service\PaymentService; use App\Service\PaymentService;
use Hyperf\Command\Command as HyperfCommand; use Hyperf\Command\Command as HyperfCommand;
use Hyperf\Contract\ContainerInterface; use Hyperf\Contract\ContainerInterface;
use Hyperf\Command\Annotation\Command;
/** /**
* @Command * @Command
@ -39,6 +38,7 @@ class JinlingCommand extends HyperfCommand
public function handle(): void public function handle(): void
{ {
echo \App\Helper\Efps\Signer::sign('sss');
$sm3 = new \OneSm\Sm3(); $sm3 = new \OneSm\Sm3();
// 字符串签名 // 字符串签名

@ -8,6 +8,35 @@ class Config
'app_id' => '', 'app_id' => '',
'secret_key' => 'cea6f34bea8640dea91fd8b7a926a9a5', 'secret_key' => 'cea6f34bea8640dea91fd8b7a926a9a5',
'base_url' => 'https://efps.epylinks.cn', 'base_url' => 'https://efps.epylinks.cn',
'public_key' => '',
'private_key' => '-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC7ibPHSAc2glW5
ZHKhSJR8SHTwkAlN9H0KhiX+NzxuZirUd8VhyPKFcOeSvf+lRo8P7EHd2Hsfly39
SuTZv4LUqsU0ODw0bXuC7ys1P6kctUc8Pi5Zg7l2FpVQZIwxkszevuYmjSQ7NTA7
GAS/4pZX6C4yyDObQBV5nmSnhGXzKk/z3c6O829jgVlbFMAKKF//Q4TBiooOeZpY
rgkGtaZSN50puM+WDn7S/ETwZELBi2jRDqg6bJKYsCVPHW/yPdnMS0BMQcDhJsI8
3BwNvBiJQo4yZ0RmLw3SmIjcThieo74fcHH0Le0TFZRD1dl2OOgPO4lCFxFV6BM0
wARseqddAgMBAAECggEBAIXZb2XBQ9ykw3hRd/si6U+XC1eTBgEMiZ5URpOdatVE
uDby0P7MxEN3ZOB4GRkmNf9gWVZ0JtRSO3G33YSISmFtDNkLdfTZWzkFaKpVqGaj
/5bArqYW/OyKi8FYMjNDmlM0nuFPBVf4y1ax+tnVaAaP4UE/YI3i/DDUWvSw627U
PqTAAEEeJi624UsVIVLbiWQkaztiutPQYTxONYKt1xcI3OUUBETvRy621czlWIhO
I/bbThawyu4xLrN8eDa6KSeD+LvC3u5IumroDCgoKrOSuY3GesWN7rPm1uVTMCDe
CacQkc2Nx28PiiRFj8XiVzSdHFIEiNopLpHlIv6U+6ECgYEA9DlBhqZoX8pxc2Nq
tm+MLXeY16lr9W23em+51TIEgBnMSne2+yY4+ni0b4x0buFXgH7bR2mSoHzVDvjJ
nYA82YlYtKI6QiSUsKU0WDfzPWqUrTfkt2JUjIwBBFN4vY070Kcu3bV7CsoXLg2E
E6ThtRn7VCQ/+8R/uyU+kuWDXxkCgYEAxJS008rYLfDl6Mqt4gBWdX0OOmck+jQ7
nT5c/sPggi222z3ka+RGWRERbG40EXiP6xL0AEQ5GJhYITKODnd8XmeOQyMnlFwP
uD33cjhwdOhH2EYTW7KUumo1Dc1ZfPThNk3SnVLvTPBD9cli4vbsU73YhvQp/BDA
3aw3RhscBuUCgYEA5AJ4nL/L/nLBDNuqi30FQIXCGsbAVjkC7bpVoye5b+emBXhT
S5NZ6u66dtKI+eREj2DgVIHKNS+Wsw2vHe7V4LsMKEi1X39LmsgCYMKLw7E38aiX
TmbtTPKBGIrd1QqA58LOTIvcviwDDCnuP3DWkQAa12momuPP5OdWzkqdJjECgYEA
w1kbURRUO2MWtX0jymCXim1ZhEQXhOP/EcV1WF6CbhrLiZc5tNXF6qCBdgUVjP8H
1YyiGNmy+3P4sBSzAkFOv+mcf68hl9bccDRz/3eCmUpyisMoXYlbLtx4GF0mPnyC
iRpQ37IYx5ZDkq4rrGvAcX9I+uMMDccAQcjvrKUn9tkCgYAcx/Usx7dsJyq9qt0x
nPryFkGoDjUg4U5WFvN4d4et4oMDAvA4iFkPxdLlGokYtLC0cEsAmKEqVKVs/Zfa
FyqcOZZSfgy6c90YmbXTmEHIayR05IxVRrL0T+/CGtnYGsNPLGNCSL9eU7zxA+QW
HeJnufFo3VmRzqOQcqrLfi/scQ==
-----END PRIVATE KEY-----'
]; ];
public static function get($key) { public static function get($key) {

@ -2,31 +2,82 @@
namespace App\Helper\Efps; namespace App\Helper\Efps;
use App\Helper\StringHelper;
class Signer class Signer
{ {
public static function sign($content, $privateKey) private static $privateKey = '-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC7ibPHSAc2glW5
ZHKhSJR8SHTwkAlN9H0KhiX+NzxuZirUd8VhyPKFcOeSvf+lRo8P7EHd2Hsfly39
SuTZv4LUqsU0ODw0bXuC7ys1P6kctUc8Pi5Zg7l2FpVQZIwxkszevuYmjSQ7NTA7
GAS/4pZX6C4yyDObQBV5nmSnhGXzKk/z3c6O829jgVlbFMAKKF//Q4TBiooOeZpY
rgkGtaZSN50puM+WDn7S/ETwZELBi2jRDqg6bJKYsCVPHW/yPdnMS0BMQcDhJsI8
3BwNvBiJQo4yZ0RmLw3SmIjcThieo74fcHH0Le0TFZRD1dl2OOgPO4lCFxFV6BM0
wARseqddAgMBAAECggEBAIXZb2XBQ9ykw3hRd/si6U+XC1eTBgEMiZ5URpOdatVE
uDby0P7MxEN3ZOB4GRkmNf9gWVZ0JtRSO3G33YSISmFtDNkLdfTZWzkFaKpVqGaj
/5bArqYW/OyKi8FYMjNDmlM0nuFPBVf4y1ax+tnVaAaP4UE/YI3i/DDUWvSw627U
PqTAAEEeJi624UsVIVLbiWQkaztiutPQYTxONYKt1xcI3OUUBETvRy621czlWIhO
I/bbThawyu4xLrN8eDa6KSeD+LvC3u5IumroDCgoKrOSuY3GesWN7rPm1uVTMCDe
CacQkc2Nx28PiiRFj8XiVzSdHFIEiNopLpHlIv6U+6ECgYEA9DlBhqZoX8pxc2Nq
tm+MLXeY16lr9W23em+51TIEgBnMSne2+yY4+ni0b4x0buFXgH7bR2mSoHzVDvjJ
nYA82YlYtKI6QiSUsKU0WDfzPWqUrTfkt2JUjIwBBFN4vY070Kcu3bV7CsoXLg2E
E6ThtRn7VCQ/+8R/uyU+kuWDXxkCgYEAxJS008rYLfDl6Mqt4gBWdX0OOmck+jQ7
nT5c/sPggi222z3ka+RGWRERbG40EXiP6xL0AEQ5GJhYITKODnd8XmeOQyMnlFwP
uD33cjhwdOhH2EYTW7KUumo1Dc1ZfPThNk3SnVLvTPBD9cli4vbsU73YhvQp/BDA
3aw3RhscBuUCgYEA5AJ4nL/L/nLBDNuqi30FQIXCGsbAVjkC7bpVoye5b+emBXhT
S5NZ6u66dtKI+eREj2DgVIHKNS+Wsw2vHe7V4LsMKEi1X39LmsgCYMKLw7E38aiX
TmbtTPKBGIrd1QqA58LOTIvcviwDDCnuP3DWkQAa12momuPP5OdWzkqdJjECgYEA
w1kbURRUO2MWtX0jymCXim1ZhEQXhOP/EcV1WF6CbhrLiZc5tNXF6qCBdgUVjP8H
1YyiGNmy+3P4sBSzAkFOv+mcf68hl9bccDRz/3eCmUpyisMoXYlbLtx4GF0mPnyC
iRpQ37IYx5ZDkq4rrGvAcX9I+uMMDccAQcjvrKUn9tkCgYAcx/Usx7dsJyq9qt0x
nPryFkGoDjUg4U5WFvN4d4et4oMDAvA4iFkPxdLlGokYtLC0cEsAmKEqVKVs/Zfa
FyqcOZZSfgy6c90YmbXTmEHIayR05IxVRrL0T+/CGtnYGsNPLGNCSL9eU7zxA+QW
HeJnufFo3VmRzqOQcqrLfi/scQ==
-----END PRIVATE KEY-----';
private static $publicKey = '';
public static function sign($params, $timestamp, $version = 2)
{ {
$privateKey = "-----BEGIN RSA PRIVATE KEY-----\n" . ksort($params);
wordwrap($privateKey, 64, "\n", true) . $paramRows = [];
"\n-----END RSA PRIVATE KEY-----"; foreach ($params as $key => $value) {
$paramRows[] = $key . '=' . $value;
}
$queryString = implode('&', $paramRows);
if ($version == 1) {
return self::rsaWithSHA256Sign($queryString, self::$privateKey);
}
$randomKey = StringHelper::getRandomString(32);
$encKey = self::rsaWithSHA256Encypt($randomKey, self::$publicKey);
$sm3 = new \OneSm\Sm3();
$signBody = $sm3->sign($queryString . $timestamp . $encKey);
return self::rsaWithSHA256Sign($signBody, self::$privateKey);
}
public static function rsaWithSHA256Sign($content, $privateKey)
{
$key = openssl_get_privatekey($privateKey); $key = openssl_get_privatekey($privateKey);
// openssl_private_encrypt($content, $signature, $privateKey, OPENSSL_PKCS1_PADDING);
// openssl_private_encrypt($content, $signature, $privateKey, OPENSSL_PKCS1_PADDING);
openssl_sign($content, $signature, $key, OPENSSL_ALGO_SHA256); openssl_sign($content, $signature, $key, OPENSSL_ALGO_SHA256);
openssl_free_key($key); openssl_free_key($key);
return base64_encode($signature); return base64_encode($signature);
} }
public function verify($content, $sign, $publicKey){ public static function rsaWithSHA256Encypt($content, $publicKey)
{
$publicKey = "-----BEGIN PUBLIC KEY-----\n" . $key = openssl_get_publickey($publicKey);
wordwrap($publicKey, 64, "\n", true) . openssl_public_decrypt($content, $signature, $key, OPENSSL_PKCS1_PADDING);
"\n-----END PUBLIC KEY-----"; openssl_free_key($key);
return base64_encode($signature);
}
public function verify($content, $sign, $publicKey)
{
$key = openssl_get_publickey($publicKey); $key = openssl_get_publickey($publicKey);
$ok = openssl_verify($content, base64_decode($sign), $key, 'SHA256'); $ok = openssl_verify($content, base64_decode($sign), $key, 'SHA256');
openssl_free_key($key); openssl_free_key($key);
return $ok; return $ok;
} }
} }

@ -0,0 +1,27 @@
-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAu4mzx0gHNoJVuWRyoUiUfEh08JAJTfR9CoYl/jc8bmYq1HfF
YcjyhXDnkr3/pUaPD+xB3dh7H5ct/Urk2b+C1KrFNDg8NG17gu8rNT+pHLVHPD4u
WYO5dhaVUGSMMZLM3r7mJo0kOzUwOxgEv+KWV+guMsgzm0AVeZ5kp4Rl8ypP893O
jvNvY4FZWxTACihf/0OEwYqKDnmaWK4JBrWmUjedKbjPlg5+0vxE8GRCwYto0Q6o
OmySmLAlTx1v8j3ZzEtATEHA4SbCPNwcDbwYiUKOMmdEZi8N0piI3E4YnqO+H3Bx
9C3tExWUQ9XZdjjoDzuJQhcRVegTNMAEbHqnXQIDAQABAoIBAQCF2W9lwUPcpMN4
UXf7IulPlwtXkwYBDImeVEaTnWrVRLg28tD+zMRDd2TgeBkZJjX/YFlWdCbUUjtx
t92EiEphbQzZC3X02Vs5BWiqVahmo/+WwK6mFvzsiovBWDIzQ5pTNJ7hTwVX+MtW
sfrZ1WgGj+FBP2CN4vww1Fr0sOtu1D6kwABBHiYutuFLFSFS24lkJGs7YrrT0GE8
TjWCrdcXCNzlFARE70cuttXM5ViITiP2204WsMruMS6zfHg2uikng/i7wt7uSLpq
6AwoKCqzkrmNxnrFje6z5tblUzAg3gmnEJHNjcdvD4okRY/F4lc0nRxSBIjaKS6R
5SL+lPuhAoGBAPQ5QYamaF/KcXNjarZvjC13mNepa/Vtt3pvudUyBIAZzEp3tvsm
OPp4tG+MdG7hV4B+20dpkqB81Q74yZ2APNmJWLSiOkIklLClNFg38z1qlK035Ldi
VIyMAQRTeL2NO9CnLt21ewrKFy4NhBOk4bUZ+1QkP/vEf7slPpLlg18ZAoGBAMSU
tNPK2C3w5ejKreIAVnV9DjpnJPo0O50+XP7D4IIttts95GvkRlkREWxuNBF4j+sS
9ABEORiYWCEyjg53fF5njkMjJ5RcD7g993I4cHToR9hGE1uylLpqNQ3NWXz04TZN
0p1S70zwQ/XJYuL27FO92Ib0KfwQwN2sN0YbHAblAoGBAOQCeJy/y/5ywQzbqot9
BUCFwhrGwFY5Au26VaMnuW/npgV4U0uTWeruunbSiPnkRI9g4FSByjUvlrMNrx3u
1eC7DChItV9/S5rIAmDCi8OxN/Gol05m7UzygRiK3dUKgOfCzkyL3L4sAwwp7j9w
1pEAGtdpqJrjz+TnVs5KnSYxAoGBAMNZG1EUVDtjFrV9I8pgl4ptWYREF4Tj/xHF
dVhegm4ay4mXObTVxeqggXYFFYz/B9WMohjZsvtz+LAUswJBTr/pnH+vIZfW3HA0
c/93gplKcorDKF2JWy7ceBhdJj58gokaUN+yGMeWQ5KuK6xrwHF/SPrjDA3HAEHI
76ylJ/bZAoGAHMf1LMe3bCcqvardMZz68hZBqA41IOFOVhbzeHeHreKDAwLwOIhZ
D8XS5RqJGLSwtHBLAJihKlSlbP2X2hcqnDmWUn4MunPdGJm105hByGskdOSMVUay
9E/vwhrZ2BrDTyxjQki/XlO88QPkFh3iZ7nxaN1Zkc6jkHKqy34v7HE=
-----END RSA PRIVATE KEY-----

@ -0,0 +1,9 @@
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu4mzx0gHNoJVuWRyoUiU
fEh08JAJTfR9CoYl/jc8bmYq1HfFYcjyhXDnkr3/pUaPD+xB3dh7H5ct/Urk2b+C
1KrFNDg8NG17gu8rNT+pHLVHPD4uWYO5dhaVUGSMMZLM3r7mJo0kOzUwOxgEv+KW
V+guMsgzm0AVeZ5kp4Rl8ypP893OjvNvY4FZWxTACihf/0OEwYqKDnmaWK4JBrWm
UjedKbjPlg5+0vxE8GRCwYto0Q6oOmySmLAlTx1v8j3ZzEtATEHA4SbCPNwcDbwY
iUKOMmdEZi8N0piI3E4YnqO+H3Bx9C3tExWUQ9XZdjjoDzuJQhcRVegTNMAEbHqn
XQIDAQAB
-----END PUBLIC KEY-----

@ -0,0 +1,30 @@
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,BF0326F2AE68617E
ycxcKNiA9nLz3isWeEpICoUXclwtbQqQVTOjZgfP+qnqKfxolmSGG6SBAIMtYfed
AM7Ktcz/9ggBfWR6PiTUlg1b8sc/bCmJ26NE3VAAlSS0UU566ARdXAT6Mug+xoKc
kPoKY7PsNPHSWfLGJG5d7xlxyFo3R+cDAU6cyReX1S2wdGjyJhnP/Yw9x7Ut6AFa
QvyfeP99EuAPX2rG3bwk7J4TYhN3iEOFCGyM9vKlAUqQ82GRvEti5P+EsGsH7B2y
2+i+omBLj9XkwUdlR9R23pq6z/xRABCxZIMW4wyDJV8xwMK3/N3U5wOdwetTk+Zz
yNgXz4tvc5JWe5DkBvHD9ZJNmxR7QN0Xq6A635Mvwd0ssSBnL3EzmubmSL6WDwhi
n+wb9sZgQXZZSN+rdEy44C7RD6mxhqNmJNyEyyPqnMqI1H4fy75IoWk2ldib9in0
u53PwxKAg6fogAjjtXIR8cuPKdGS1XtAvonY4o2kpf2ySudQwhYK+7rAv5bPiUDL
Xlna8sHP3l+5c0K/yg0mW2AiCYCpj++sXmS9xHT+0sTPHRw8jp2tCe8bH0iOZLZ6
ZVOlfXBlDa3FbiluKRM7qy6Kki/Sz09Jc1rmS4tt7XXz3Xbu+edNdC7HducoXEVc
QL36k+KVwQWFWgwPbEEED12+J6KFKTckP7GgbQS05ZQCAHj+PduI+MRtu6n8kOrr
35rtSdTj20YPqC2mf1gnSNUT8c5Ewc4wuCkGDhsxKhcq2NSKrnquq+Ty6kq9aTal
imlRcREcygaYU072/Y3DhOawbqW2l8j9wCQfYut8gU3cpsspjClxP+7liGJodG+/
jTRPziEjnCqqKo468nIuGb9O298g8Y+/Y5YZcUgapRcURc6r4j+dpneNqNoaMBt/
s0qX8K2wZjTIe8NdJOPpJz4k9TAQ/PNb7tv7Ms8DvsuOSZTH0foxl2xyhyPNZOWo
FE5zKCG5ABZsrqExROmCbQ1WZQCFknFXF7gbbk4uXNXphHHXumm1K140er0gZ85n
DsiO7M6mCjDTWl05d/lLpGsocJp0u+jg9hbMHaOoM4lPC/vUDpFY/yGrRzrq5W9z
ogG/FmKp2RUMS1PCG2PikhMd+wIGACze0v0LbMA9dBbjkSv3EWa4tOKWwsxIr3/I
ZAIdu8bnYtBSO1mw/l9QxhKAvX8Ug8/df/0VqaefNaU+y9hlaXMheGFmri5MmreB
7zloIpoQp5BkwaJZZ81qic3QOFn0ST1VlT6EzeFDnJgIHAlcvzUjuqA2cCQPZsLP
m5sMv9CY5tSYR1hq0QvVdi+AO+egruiBv+k+TGQlIwCdHD+wlBRpo4aET9bK15KQ
KjmYebGbVlP1ef5RZGDGGUb3udBCbXkUDsWR+ijZFSfcjPdz42NN9qU/WRqRcW1b
xQspsloH8DFb+KzvFEKOdJQZdIWS6u6OlXbKGP8P25L7CkxbeZ6ezsywgARd66wB
VYYACR4ysx6o7alOhFUMs69e8c7kqCPz+fiDTG9rqG67dksS1RBXxWulhKaWDn19
33CWXaXoVoGwSCKLjszv7FpdrWLqwPiI9n55QeqwhP2uP/857loLUUrJlORwiJYB
-----END RSA PRIVATE KEY-----

@ -0,0 +1,32 @@
Bag Attributes
friendlyName: Y
localKeyID: 8B 08 86 6E 88 FC CF C6 CB D2 F8 91 4F 88 D4 70 CB FB 77 BA
Key Attributes: <No Attributes>
-----BEGIN PRIVATE KEY-----
MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQC7ibPHSAc2glW5
ZHKhSJR8SHTwkAlN9H0KhiX+NzxuZirUd8VhyPKFcOeSvf+lRo8P7EHd2Hsfly39
SuTZv4LUqsU0ODw0bXuC7ys1P6kctUc8Pi5Zg7l2FpVQZIwxkszevuYmjSQ7NTA7
GAS/4pZX6C4yyDObQBV5nmSnhGXzKk/z3c6O829jgVlbFMAKKF//Q4TBiooOeZpY
rgkGtaZSN50puM+WDn7S/ETwZELBi2jRDqg6bJKYsCVPHW/yPdnMS0BMQcDhJsI8
3BwNvBiJQo4yZ0RmLw3SmIjcThieo74fcHH0Le0TFZRD1dl2OOgPO4lCFxFV6BM0
wARseqddAgMBAAECggEBAIXZb2XBQ9ykw3hRd/si6U+XC1eTBgEMiZ5URpOdatVE
uDby0P7MxEN3ZOB4GRkmNf9gWVZ0JtRSO3G33YSISmFtDNkLdfTZWzkFaKpVqGaj
/5bArqYW/OyKi8FYMjNDmlM0nuFPBVf4y1ax+tnVaAaP4UE/YI3i/DDUWvSw627U
PqTAAEEeJi624UsVIVLbiWQkaztiutPQYTxONYKt1xcI3OUUBETvRy621czlWIhO
I/bbThawyu4xLrN8eDa6KSeD+LvC3u5IumroDCgoKrOSuY3GesWN7rPm1uVTMCDe
CacQkc2Nx28PiiRFj8XiVzSdHFIEiNopLpHlIv6U+6ECgYEA9DlBhqZoX8pxc2Nq
tm+MLXeY16lr9W23em+51TIEgBnMSne2+yY4+ni0b4x0buFXgH7bR2mSoHzVDvjJ
nYA82YlYtKI6QiSUsKU0WDfzPWqUrTfkt2JUjIwBBFN4vY070Kcu3bV7CsoXLg2E
E6ThtRn7VCQ/+8R/uyU+kuWDXxkCgYEAxJS008rYLfDl6Mqt4gBWdX0OOmck+jQ7
nT5c/sPggi222z3ka+RGWRERbG40EXiP6xL0AEQ5GJhYITKODnd8XmeOQyMnlFwP
uD33cjhwdOhH2EYTW7KUumo1Dc1ZfPThNk3SnVLvTPBD9cli4vbsU73YhvQp/BDA
3aw3RhscBuUCgYEA5AJ4nL/L/nLBDNuqi30FQIXCGsbAVjkC7bpVoye5b+emBXhT
S5NZ6u66dtKI+eREj2DgVIHKNS+Wsw2vHe7V4LsMKEi1X39LmsgCYMKLw7E38aiX
TmbtTPKBGIrd1QqA58LOTIvcviwDDCnuP3DWkQAa12momuPP5OdWzkqdJjECgYEA
w1kbURRUO2MWtX0jymCXim1ZhEQXhOP/EcV1WF6CbhrLiZc5tNXF6qCBdgUVjP8H
1YyiGNmy+3P4sBSzAkFOv+mcf68hl9bccDRz/3eCmUpyisMoXYlbLtx4GF0mPnyC
iRpQ37IYx5ZDkq4rrGvAcX9I+uMMDccAQcjvrKUn9tkCgYAcx/Usx7dsJyq9qt0x
nPryFkGoDjUg4U5WFvN4d4et4oMDAvA4iFkPxdLlGokYtLC0cEsAmKEqVKVs/Zfa
FyqcOZZSfgy6c90YmbXTmEHIayR05IxVRrL0T+/CGtnYGsNPLGNCSL9eU7zxA+QW
HeJnufFo3VmRzqOQcqrLfi/scQ==
-----END PRIVATE KEY-----

@ -0,0 +1,22 @@
-----BEGIN CERTIFICATE-----
MIIDlzCCAn+gAwIBAgIUbeOvQXeD5BI4jOTpkUv+70RShvcwDQYJKoZIhvcNAQEL
BQAwWzELMAkGA1UEBhMCQ04xDzANBgNVBAgMBkZ1SmlhbjEPMA0GA1UEBwwGWGlh
TWVuMQ4wDAYDVQQKDAVGdXN1bzEMMAoGA1UECwwDY3d4MQwwCgYDVQQDDANjd3gw
HhcNMjMwNTIyMTQ0MjE4WhcNMzMwNTE5MTQ0MjE4WjBbMQswCQYDVQQGEwJDTjEP
MA0GA1UECAwGRnVKaWFuMQ8wDQYDVQQHDAZYaWFNZW4xDjAMBgNVBAoMBUZ1c3Vv
MQwwCgYDVQQLDANjd3gxDDAKBgNVBAMMA2N3eDCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBALuJs8dIBzaCVblkcqFIlHxIdPCQCU30fQqGJf43PG5mKtR3
xWHI8oVw55K9/6VGjw/sQd3Yex+XLf1K5Nm/gtSqxTQ4PDRte4LvKzU/qRy1Rzw+
LlmDuXYWlVBkjDGSzN6+5iaNJDs1MDsYBL/illfoLjLIM5tAFXmeZKeEZfMqT/Pd
zo7zb2OBWVsUwAooX/9DhMGKig55mliuCQa1plI3nSm4z5YOftL8RPBkQsGLaNEO
qDpskpiwJU8db/I92cxLQExBwOEmwjzcHA28GIlCjjJnRGYvDdKYiNxOGJ6jvh9w
cfQt7RMVlEPV2XY46A87iUIXEVXoEzTABGx6p10CAwEAAaNTMFEwHQYDVR0OBBYE
FF9zWOWuZ8LYknEJf5MfrFIP/HGqMB8GA1UdIwQYMBaAFF9zWOWuZ8LYknEJf5Mf
rFIP/HGqMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAEC4LnW7
J69MLiUt2ypYjSmhyauJixINdG6r53JUaKw2d0Dd73PmYmU1lyTFJEOOFhK3w9hU
5cgExxcn1AZdb2vtzwETv7dgRJHbxVVhl6JsPvFw82b9ALGgFbq5d2Kyewa5eLBh
2IiThu19BBbvs0H6MjP7Kim1fx0z/aIK9F5b9zJxFw35t35Jz1cziXbpS2ha2HDS
0EKrqESbX37iZ8jzO4sMb5hPDZ+BuugFOmZbbPoHqqKZw1l9EWO4Lm36PezMTpwP
1dGRRjcxRWcZ9k4zbdmxzNGL+yxSjl4kvTDjr8ygQmTGBrH7f2z/5LaU48IeNZtl
eEM6UAUyVJDtLl4=
-----END CERTIFICATE-----

Binary file not shown.
Loading…
Cancel
Save