This commit is contained in:
BinWang 2023-11-29 21:48:12 +08:00
parent 99739533aa
commit f2c3be3126
168 changed files with 23205 additions and 0 deletions

6
.babelrc Normal file
View File

@ -0,0 +1,6 @@
{
"presets": [
["env", { "modules": false }],
"stage-3"
]
}

9
.editorconfig Normal file
View File

@ -0,0 +1,9 @@
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

12
.gitignore vendored Normal file
View File

@ -0,0 +1,12 @@
.DS_Store
node_modules/
dist/
npm-debug.log
yarn-error.log
# Editor directories and files
.idea
*.suo
*.ntvs*
*.njsproj
*.sln

@ -0,0 +1 @@
Subproject commit cf15d28e4883287c7cc4b57ebfe11edcb0ff829e

@ -0,0 +1 @@
Subproject commit cf15d28e4883287c7cc4b57ebfe11edcb0ff829e

@ -0,0 +1 @@
Subproject commit cf15d28e4883287c7cc4b57ebfe11edcb0ff829e

View File

@ -0,0 +1,61 @@
package controller
import (
"chainmaker_go/database"
"chainmaker_go/model"
"github.com/gin-gonic/gin"
"gorm.io/gorm"
)
func LoginUser(ctx *gin.Context) {
DB := database.GetDB()
var requestUser = model.User{}
ctx.Bind(&requestUser)
//获取参数
user_id := requestUser.User_id
password := requestUser.Password
//判断该用户id是否已存在
if isUser_idNotExist(DB, user_id) {
ctx.JSON(200, gin.H{
"code": 2000,
"msg": "用户不存在,请先注册",
})
return
}
if isPassordNotCorrect(DB, user_id, password) {
ctx.JSON(200, gin.H{
"code": 2020,
"msg": "密码错误",
})
return
}
ctx.SetCookie("username", user_id, 3600, "/", "localhost", false, true)
//返回结果
ctx.JSON(200, gin.H{
"code": 200,
"msg": "登录成功",
})
}
func isUser_idNotExist(db *gorm.DB, user_id string) bool {
var user model.User
db.Where("User_id = ?", user_id).First(&user)
if user.ID == 0 {
return true
}
return false
}
func isPassordNotCorrect(db *gorm.DB, user_id string, password string) bool {
var user model.User
db.Where("User_id = ? and Password = ?", user_id, password).First(&user)
if user.ID == 0 {
return true
}
return false
}

View File

@ -0,0 +1,184 @@
package controller
import (
"chainmaker.org/chainmaker/pb-go/v2/common"
sdk "chainmaker.org/chainmaker/sdk-go/v2"
"chainmaker.org/chainmaker/sdk-go/v2/examples"
"chainmaker_go/database"
"chainmaker_go/model"
"crypto/sha1"
"fmt"
"github.com/gin-gonic/gin"
uuid "github.com/satori/go.uuid"
"io"
"log"
)
const (
claimContractName1 = "resource"
)
var resource_id = ""
var right_type = ""
var resource_name = ""
var resource_describe = ""
var resource_data_hash = ""
var refer_resource_id = ""
var root_resource_id = ""
var time = ""
func RegisterResource(ctx *gin.Context) {
//获取数据库
DB := database.GetDB()
log.Println(ctx)
cookie, err := ctx.Cookie("username")
if err != nil {
cookie = "NotSet"
}
fmt.Printf("Cookie value: %s \n", cookie)
//获取参数
user_id = cookie
//绑定 资源 模型
var requestResource = model.Resource{}
ctx.Bind(&requestResource)
log.Println(requestResource)
//获取参数
right_type = requestResource.Right_type
resource_name = requestResource.Resource_name
resource_describe = requestResource.Resource_describe
refer_resource_id = requestResource.Resource_refer
root_resource_id = requestResource.Resource_root
time = requestResource.Time
//签名处理 todo
data_sign := requestResource.Data_sign
//唯一标识生成
id := uuid.NewV4()
ids := id.String()
resource_id = ids
log.Println(resource_id)
//哈希处理 资源名+资源描述进行hash
var data = resource_name + resource_describe + time
t := sha1.New()
io.WriteString(t, data)
resource_data_hash = fmt.Sprintf("%x", t.Sum(nil))
//是否确权
is_right_confirmation := "否"
//直接注册
//创建资源
newResource := model.Resource{
User_id: user_id,
Right_type: right_type,
Resource_name: resource_name,
Resource_describe: resource_describe,
Resource_data_hash: resource_data_hash,
Resource_refer: refer_resource_id,
Resource_root: root_resource_id,
Time: time,
Data_sign: data_sign,
Resource_uniqueid: resource_id,
Is_right_confirmation: is_right_confirmation,
}
DB.Create(&newResource)
//注册信息上链
fmt.Println("====================== create client ======================")
client, err := examples.CreateChainClientWithSDKConf(sdkConfigOrg1Client1Path)
if err != nil {
log.Fatalln(err)
}
fmt.Println("====================== 调用合约 ======================")
err = testUserContractClaimInvoke1(client, "invoke_contract", true)
if err != nil {
log.Fatalln(err)
}
//返回结果
ctx.JSON(200, gin.H{
"code": 200,
"msg": "资源创建成功",
})
}
func testUserContractClaimInvoke1(client *sdk.ChainClient,
method string, withSyncResult bool) error {
kvs := []*common.KeyValuePair{
{
Key: "method",
Value: []byte("register_resource"),
},
{
Key: "resource_id",
Value: []byte(resource_id),
},
{
Key: "user_id",
Value: []byte(user_id),
},
{
Key: "right_type",
Value: []byte(right_type),
},
{
Key: "resource_name",
Value: []byte(resource_name),
},
{
Key: "resource_describe",
Value: []byte(resource_describe),
},
{
Key: "resource_data_hash",
Value: []byte(resource_data_hash),
},
{
Key: "refer_resource_id",
Value: []byte(refer_resource_id),
},
{
Key: "root_resource_id",
Value: []byte(root_resource_id),
},
{
Key: "time",
Value: []byte(time),
},
}
err := invokeUserContract1(client, claimContractName1, method, "", kvs, withSyncResult, &common.Limit{GasLimit: 200000})
if err != nil {
return err
}
return nil
}
func invokeUserContract1(client *sdk.ChainClient, contractName, method, txId string,
kvs []*common.KeyValuePair, withSyncResult bool, limit *common.Limit) error {
resp, err := client.InvokeContractWithLimit(contractName, method, txId, kvs, -1, withSyncResult, limit)
if err != nil {
return err
}
if resp.Code != common.TxStatusCode_SUCCESS {
return fmt.Errorf("invoke contract failed, [code:%d]/[msg:%s]\n", resp.Code, resp.Message)
}
if !withSyncResult {
fmt.Printf("invoke contract success, resp: [code:%d]/[msg:%s]/[txId:%s]\n", resp.Code, resp.Message, resp.ContractResult.Result)
} else {
fmt.Printf("invoke contract success, resp: [code:%d]/[msg:%s]/[contractResult:%s]\n", resp.Code, resp.Message, resp.ContractResult)
}
return nil
}

View File

@ -0,0 +1,132 @@
package controller
import (
"chainmaker.org/chainmaker/pb-go/v2/common"
sdk "chainmaker.org/chainmaker/sdk-go/v2"
"chainmaker.org/chainmaker/sdk-go/v2/examples"
"chainmaker_go/database"
"chainmaker_go/model"
"fmt"
"github.com/gin-gonic/gin"
"gorm.io/gorm"
"log"
)
const (
claimContractName = "user"
sdkConfigOrg1Client1Path = "sdk_config_org1_client1.yml"
)
var user_id = ""
var pub_key = ""
var org_info = ""
func RegisterUser(ctx *gin.Context) {
//获取数据库
DB := database.GetDB()
//绑定 用户 模型
var requestUser = model.User{}
ctx.Bind(&requestUser)
//获取参数
user_id = requestUser.User_id
password := requestUser.Password
org_info = requestUser.Org_info
pub_key = requestUser.Pub_key
pri_key := requestUser.Pri_key
//判断该用户id是否已存在
if isUser_idExist(DB, user_id) {
ctx.JSON(200, gin.H{
"code": 2040,
"msg": "用户已存在",
})
return
}
//创建用户
newUser := model.User{
User_id: user_id,
Password: password,
Org_info: org_info,
Pub_key: pub_key,
Pri_key: pri_key,
}
DB.Create(&newUser)
//注册信息上链
fmt.Println("====================== create client ======================")
client, err := examples.CreateChainClientWithSDKConf(sdkConfigOrg1Client1Path)
if err != nil {
log.Fatalln(err)
}
fmt.Println("====================== 调用合约 ======================")
err = testUserContractClaimInvoke(client, "invoke_contract", true)
if err != nil {
log.Fatalln(err)
}
//返回结果
ctx.JSON(200, gin.H{
"code": 200,
"msg": "注册成功,即将跳转到登录界面",
})
}
func isUser_idExist(db *gorm.DB, user_id string) bool {
var user model.User
db.Where("User_id = ?", user_id).First(&user)
if user.ID != 0 {
return true
}
return false
}
func testUserContractClaimInvoke(client *sdk.ChainClient,
method string, withSyncResult bool) error {
kvs := []*common.KeyValuePair{
{
Key: "method",
Value: []byte("register_user"),
},
{
Key: "user_id",
Value: []byte(user_id),
},
{
Key: "pub_key",
Value: []byte(pub_key),
},
{
Key: "org_info",
Value: []byte(org_info),
},
}
err := invokeUserContract(client, claimContractName, method, "", kvs, withSyncResult, &common.Limit{GasLimit: 200000})
if err != nil {
return err
}
return nil
}
func invokeUserContract(client *sdk.ChainClient, contractName, method, txId string,
kvs []*common.KeyValuePair, withSyncResult bool, limit *common.Limit) error {
resp, err := client.InvokeContractWithLimit(contractName, method, txId, kvs, -1, withSyncResult, limit)
if err != nil {
return err
}
if resp.Code != common.TxStatusCode_SUCCESS {
return fmt.Errorf("invoke contract failed, [code:%d]/[msg:%s]\n", resp.Code, resp.Message)
}
if !withSyncResult {
fmt.Printf("invoke contract success, resp: [code:%d]/[msg:%s]/[txId:%s]\n", resp.Code, resp.Message, resp.ContractResult.Result)
} else {
fmt.Printf("invoke contract success, resp: [code:%d]/[msg:%s]/[contractResult:%s]\n", resp.Code, resp.Message, resp.ContractResult)
}
return nil
}

View File

@ -0,0 +1,34 @@
package controller
import (
"chainmaker_go/database"
"chainmaker_go/model"
"fmt"
"github.com/gin-gonic/gin"
"log"
)
func ResourceStatistics(ctx *gin.Context) {
DB := database.GetDB()
cookie, err := ctx.Cookie("username")
if err != nil {
cookie = "NotSet"
}
fmt.Printf("Cookie value: %s \n", cookie)
//获取参数
user_id = cookie
//查询该用户所有资源
var resources []model.Resource
DB.Where("User_id = ? ", user_id).Find(&resources)
log.Println(resources)
//返回结果
ctx.JSON(200, gin.H{
"code": 200,
"msg": "成功!",
"data": resources,
})
}

View File

@ -0,0 +1,196 @@
package controller
import (
"chainmaker.org/chainmaker/pb-go/v2/common"
sdk "chainmaker.org/chainmaker/sdk-go/v2"
"chainmaker.org/chainmaker/sdk-go/v2/examples"
"chainmaker_go/database"
"chainmaker_go/model"
"fmt"
"github.com/gin-gonic/gin"
"log"
"strconv"
)
func RightConfirmation(ctx *gin.Context) {
DB := database.GetDB()
cookie, err := ctx.Cookie("username")
if err != nil {
cookie = "NotSet"
}
fmt.Printf("Cookie value: %s \n", cookie)
//获取参数
user_id = cookie
//查询该用户所有资源
var rightConfirm []model.RightConfirmation
DB.Where("Owner_userid = ? and Is_right_confirmation = ?", user_id, "否").Find(&rightConfirm)
log.Println(rightConfirm)
//返回结果
ctx.JSON(200, gin.H{
"code": 200,
"msg": "登录成功",
"data": rightConfirm,
})
}
func RightConfirmationRow(ctx *gin.Context) {
DB := database.GetDB()
cookie, err := ctx.Cookie("username")
if err != nil {
cookie = "NotSet"
}
fmt.Printf("Cookie value: %s \n", cookie)
//获取参数
user_id = cookie
//获取参数
var requestRow = model.Row{}
ctx.Bind(&requestRow)
id := requestRow.Id
int_id, err := strconv.Atoi(id)
if err != nil {
fmt.Println("error")
}
//查询该用户所有资源
var rightConfirms []model.RightConfirmation
DB.Where("Owner_userid = ? and Is_right_confirmation = ?", user_id, "否").Find(&rightConfirms)
var rightConfirm model.RightConfirmation
rightConfirm = rightConfirms[int_id]
var rightConfirmationYes model.RightConfirmationYes
rightConfirmationYes.Right_type = rightConfirm.Right_type
rightConfirmationYes.Resource_uniqueid = rightConfirm.Resource_uniqueid
rightConfirmationYes.User_id = rightConfirm.Owner_userid
rightConfirmationYes.Time = ""
rightConfirmationYes.Data_sign = ""
//返回结果
ctx.JSON(200, gin.H{
"code": 200,
"msg": "登录成功",
"data": rightConfirmationYes,
})
}
func RightConfirmationYes(ctx *gin.Context) {
DB := database.GetDB()
//获取参数
var requestRightConfirm = model.RightConfirmationYes{}
ctx.Bind(&requestRightConfirm)
//获取参数
user_id = requestRightConfirm.User_id
right_type = requestRightConfirm.Right_type
resource_id = requestRightConfirm.Resource_uniqueid
time = requestRightConfirm.Time
//data_sign := requestRightConfirm.Data_sign
//将该资源的is_right_confirmation设为"是"
/* var resource model.Resource
DB.Model(&resource).Find(&resource, "user_id = ? and right_type = ? and resource_uniqueid = ?",
user_id, right_type, resource_uniqueid).UpdateColumn("Is_right_confirmation", "是")*/
//将该资源从待确权列表中删除
var rightConfirm model.RightConfirmation
DB.Model(&rightConfirm).Find(&rightConfirm, "right_type = ? and resource_uniqueid = ?",
right_type, resource_id).UpdateColumn("Is_right_confirmation", "是")
var resource model.Resource
DB.Where("resource_uniqueid = ?", resource_id).First(&resource)
newResource := model.Resource{
User_id: user_id,
Right_type: right_type,
Resource_name: resource.Resource_name,
Resource_describe: resource.Resource_describe,
Resource_data_hash: resource.Resource_data_hash,
Resource_refer: resource.Resource_refer,
Resource_root: resource.Resource_root,
Time: time,
Data_sign: "",
Resource_uniqueid: resource_id,
Is_right_confirmation: "是",
}
DB.Create(&newResource)
//注册信息上链
fmt.Println("====================== create client ======================")
client, err := examples.CreateChainClientWithSDKConf(sdkConfigOrg1Client1Path)
if err != nil {
log.Fatalln(err)
}
fmt.Println("====================== 调用合约 ======================")
err = testUserContractClaimInvoke2(client, "invoke_contract", true)
if err != nil {
log.Fatalln(err)
}
//返回结果
ctx.JSON(200, gin.H{
"code": 200,
"msg": "确权成功",
})
}
func testUserContractClaimInvoke2(client *sdk.ChainClient,
method string, withSyncResult bool) error {
kvs := []*common.KeyValuePair{
{
Key: "method",
Value: []byte("confirm_right"),
},
{
Key: "user_id",
Value: []byte(user_id),
},
{
Key: "resource_id",
Value: []byte(resource_id),
},
{
Key: "right_type",
Value: []byte(right_type),
},
{
Key: "time",
Value: []byte(time),
},
}
err := invokeUserContract2(client, claimContractName1, method, "", kvs, withSyncResult, &common.Limit{GasLimit: 200000})
if err != nil {
return err
}
return nil
}
func invokeUserContract2(client *sdk.ChainClient, contractName, method, txId string,
kvs []*common.KeyValuePair, withSyncResult bool, limit *common.Limit) error {
resp, err := client.InvokeContractWithLimit(contractName, method, txId, kvs, -1, withSyncResult, limit)
if err != nil {
return err
}
if resp.Code != common.TxStatusCode_SUCCESS {
return fmt.Errorf("invoke contract failed, [code:%d]/[msg:%s]\n", resp.Code, resp.Message)
}
if !withSyncResult {
fmt.Printf("invoke contract success, resp: [code:%d]/[msg:%s]/[txId:%s]\n", resp.Code, resp.Message, resp.ContractResult.Result)
} else {
fmt.Printf("invoke contract success, resp: [code:%d]/[msg:%s]/[contractResult:%s]\n", resp.Code, resp.Message, resp.ContractResult)
}
return nil
}

View File

@ -0,0 +1,71 @@
package controller
import (
"chainmaker_go/database"
"chainmaker_go/model"
"fmt"
"github.com/gin-gonic/gin"
"strconv"
)
func RightConfirmationNotice(ctx *gin.Context) {
DB := database.GetDB()
cookie, err := ctx.Cookie("username")
if err != nil {
cookie = "NotSet"
}
fmt.Printf("Cookie value: %s \n", cookie)
//获取参数
user_id = cookie
var requestNotice = model.Id{}
ctx.Bind(&requestNotice)
//获取参数
owner_userid := requestNotice.Owner_userid
right_type = requestNotice.Right_type
id := requestNotice.Id
int_id, err := strconv.Atoi(id)
if err != nil {
fmt.Println("error")
}
//查询该用户所有资源
var resources []model.Resource
DB.Where("User_id = ? ", user_id).Find(&resources)
var resource = model.Resource{}
resource = resources[int_id]
var rightConfirmation = model.RightConfirmation{}
DB.Where("Right_type = ? and Resource_name = ? and Resource_describe = ? and Resource_uniqueid = ? "+
"and Owner_userid = ? and Is_right_confirmation = ?", right_type, resource.Resource_name, resource.Resource_describe,
resource.Resource_uniqueid, owner_userid, "否").First(&rightConfirmation)
if rightConfirmation.ID != 0 {
//如果通知过,则
ctx.JSON(200, gin.H{
"code": 203,
"msg": "已确权通知,请等待权属人确权",
})
return
}
//如果没有通知过,则
rightConfirmation.Right_type = right_type
rightConfirmation.Resource_name = resource.Resource_name
rightConfirmation.Resource_describe = resource.Resource_describe
rightConfirmation.Resource_uniqueid = resource.Resource_uniqueid
rightConfirmation.Owner_userid = owner_userid
rightConfirmation.Is_right_confirmation = "否"
DB.Create(&rightConfirmation)
//返回结果
ctx.JSON(200, gin.H{
"code": 200,
"msg": "确权通知成功",
})
}

View File

@ -0,0 +1,221 @@
package controller
import (
"chainmaker.org/chainmaker/pb-go/v2/common"
sdk "chainmaker.org/chainmaker/sdk-go/v2"
"chainmaker.org/chainmaker/sdk-go/v2/examples"
"chainmaker_go/database"
"chainmaker_go/model"
"fmt"
"github.com/gin-gonic/gin"
"log"
"strconv"
)
func TransferOwnership(ctx *gin.Context) {
DB := database.GetDB()
cookie, err := ctx.Cookie("username")
if err != nil {
cookie = "NotSet"
}
fmt.Printf("Cookie value: %s \n", cookie)
//获取参数
user_id = cookie
//查询该用户所有资源
var transferOwnerships []model.TransferOwnership
DB.Where("Authorized_userid = ? ", user_id).Find(&transferOwnerships)
//返回结果
ctx.JSON(200, gin.H{
"code": 200,
"msg": "登录成功",
"data": transferOwnerships,
})
}
func TransferOwnershipRow(ctx *gin.Context) {
DB := database.GetDB()
cookie, err := ctx.Cookie("username")
if err != nil {
cookie = "NotSet"
}
fmt.Printf("Cookie value: %s \n", cookie)
//获取参数
user_id = cookie
//获取参数
var requestRow = model.Row{}
ctx.Bind(&requestRow)
id := requestRow.Id
int_id, err := strconv.Atoi(id)
if err != nil {
fmt.Println("error")
}
//查询该用户所有资源
var resources []model.Resource
DB.Where("User_id = ? ", user_id).Find(&resources)
var resource model.Resource
resource = resources[int_id]
var transferOwnership model.TransferOwnership
transferOwnership.Resource_uniqueid = resource.Resource_uniqueid
transferOwnership.Origin_userid = user_id
transferOwnership.Authorized_userid = ""
transferOwnership.Right_type = resource.Right_type
transferOwnership.Resource_name = resource.Resource_name
transferOwnership.Resource_describe = resource.Resource_describe
transferOwnership.Contract_describe = ""
transferOwnership.Time = ""
transferOwnership.Data_sign = ""
//返回结果
ctx.JSON(200, gin.H{
"code": 200,
"msg": "登录成功",
"data": transferOwnership,
})
}
func TransferOwnershipYes(ctx *gin.Context) {
DB := database.GetDB()
var requestRow = model.Row{}
ctx.Bind(&requestRow)
//获取参数
id := requestRow.Id
int_id, err := strconv.Atoi(id)
if err != nil {
fmt.Println("error")
}
cookie, err := ctx.Cookie("username")
if err != nil {
cookie = "NotSet"
}
fmt.Printf("Cookie value: %s \n", cookie)
//获取参数
user_id = cookie
//查询该用户所有资源
var transferOwnerships []model.TransferOwnership
DB.Where("Authorized_userid = ? ", user_id).Find(&transferOwnerships)
var transferOwnership model.TransferOwnership
transferOwnership = transferOwnerships[int_id]
resource_id = transferOwnership.Resource_uniqueid
old_user_id = transferOwnership.Origin_userid
new_user_id = transferOwnership.Authorized_userid
right_type = transferOwnership.Right_type
contract = transferOwnership.Contract_describe
time = transferOwnership.Time
var resource model.Resource
DB.Where("resource_uniqueid = ?", resource_id).First(&resource)
newResource := model.Resource{
User_id: user_id,
Right_type: right_type,
Resource_name: resource.Resource_name,
Resource_describe: resource.Resource_describe,
Resource_data_hash: resource.Resource_data_hash,
Resource_refer: resource.Resource_refer,
Resource_root: resource.Resource_root,
Time: time,
Data_sign: "",
Resource_uniqueid: resource_id,
Is_right_confirmation: "是",
}
DB.Create(&newResource)
DB.Delete(&transferOwnership)
//注册信息上链
fmt.Println("====================== create client ======================")
client, err := examples.CreateChainClientWithSDKConf(sdkConfigOrg1Client1Path)
if err != nil {
log.Fatalln(err)
}
fmt.Println("====================== 调用合约 ======================")
err = testUserContractClaimInvoke3(client, "invoke_contract", true)
if err != nil {
log.Fatalln(err)
}
//返回结果
ctx.JSON(200, gin.H{
"code": 200,
"msg": "权属转让成功",
})
}
func testUserContractClaimInvoke3(client *sdk.ChainClient,
method string, withSyncResult bool) error {
kvs := []*common.KeyValuePair{
{
Key: "method",
Value: []byte("transfer_ownership"),
},
{
Key: "resource_id",
Value: []byte(resource_id),
},
{
Key: "old_user_id",
Value: []byte(old_user_id),
},
{
Key: "new_user_id",
Value: []byte(new_user_id),
},
{
Key: "right_type",
Value: []byte(right_type),
},
{
Key: "contract",
Value: []byte(contract),
},
{
Key: "time",
Value: []byte(time),
},
}
err := invokeUserContract3(client, claimContractName1, method, "", kvs, withSyncResult, &common.Limit{GasLimit: 200000})
if err != nil {
return err
}
return nil
}
func invokeUserContract3(client *sdk.ChainClient, contractName, method, txId string,
kvs []*common.KeyValuePair, withSyncResult bool, limit *common.Limit) error {
resp, err := client.InvokeContractWithLimit(contractName, method, txId, kvs, -1, withSyncResult, limit)
if err != nil {
return err
}
if resp.Code != common.TxStatusCode_SUCCESS {
return fmt.Errorf("invoke contract failed, [code:%d]/[msg:%s]\n", resp.Code, resp.Message)
}
if !withSyncResult {
fmt.Printf("invoke contract success, resp: [code:%d]/[msg:%s]/[txId:%s]\n", resp.Code, resp.Message, resp.ContractResult.Result)
} else {
fmt.Printf("invoke contract success, resp: [code:%d]/[msg:%s]/[contractResult:%s]\n", resp.Code, resp.Message, resp.ContractResult)
}
return nil
}

View File

@ -0,0 +1,58 @@
package controller
import (
"chainmaker_go/database"
"chainmaker_go/model"
"github.com/gin-gonic/gin"
)
var old_user_id = ""
var new_user_id = ""
var contract = ""
func TransferOwnershipNotice(ctx *gin.Context) {
//获取数据库
DB := database.GetDB()
//绑定 资源 模型
var requestTransferOwnership = model.TransferOwnership{}
ctx.Bind(&requestTransferOwnership)
//获取参数
resource_id = requestTransferOwnership.Resource_uniqueid
old_user_id = requestTransferOwnership.Origin_userid
new_user_id = requestTransferOwnership.Authorized_userid
right_type = requestTransferOwnership.Right_type
contract = requestTransferOwnership.Contract_describe
time = requestTransferOwnership.Time
//签名处理 todo
data_sign := requestTransferOwnership.Data_sign
//获取Resource_name和Resource_describe
var resource model.Resource
DB.Where("resource_uniqueid = ? ", resource_id).First(&resource)
resource_name = resource.Resource_name
resource_describe = resource.Resource_describe
//直接注册
//创建
newTransferOwnership := model.TransferOwnership{
Resource_uniqueid: resource_id,
Origin_userid: old_user_id,
Authorized_userid: new_user_id,
Right_type: right_type,
Resource_name: resource_name,
Resource_describe: resource_describe,
Contract_describe: contract,
Time: time,
Data_sign: data_sign,
}
DB.Create(&newTransferOwnership)
//返回结果
ctx.JSON(200, gin.H{
"code": 200,
"msg": "权属转让请求已创建",
})
}

View File

@ -0,0 +1,17 @@
-----BEGIN CERTIFICATE-----
MIICnzCCAkSgAwIBAgIDBk6gMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMS5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmcxLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTMy
MDYxMjEyNTU1N1owgYoxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcxLmNoYWlubWFrZXIub3Jn
MRIwEAYDVQQLEwlyb290LWNlcnQxIjAgBgNVBAMTGWNhLnd4LW9yZzEuY2hhaW5t
YWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASm0qBw7rze9ZkqmWa7
HUS2jbdO1XcvA/R3oa4FFRbsRk/AXIG1lkLnTBKmzX/lJknnDFlJOQTl9+SOmXb/
zMwvo4GWMIGTMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
DgQiBCAuvjXHStST+iEeqTgDErMSOuiAb4LdhOjdKzMgnBbbrzBFBgNVHREEPjA8
gg5jaGFpbm1ha2VyLm9yZ4IJbG9jYWxob3N0ghljYS53eC1vcmcxLmNoYWlubWFr
ZXIub3JnhwR/AAABMAoGCCqGSM49BAMCA0kAMEYCIQCFQF3gNbOZWn/nF9fIyqWh
LAUi0wnDkG1R5QRiB109oAIhAOTxmsRADWHQw9Y+2jKSdafRimeH3rkCEIobdFnT
MbSB
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIKD5KClckXFR9bsy+ymjRrUFN3ezrdbM4TCygWbPjCyFoAoGCCqGSM49
AwEHoUQDQgAEptKgcO683vWZKplmux1Eto23TtV3LwP0d6GuBRUW7EZPwFyBtZZC
50wSps1/5SZJ5wxZSTkE5ffkjpl2/8zMLw==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1 @@
Qmbke3UQTKqinTbzeq81LoHbTv7Unc9iUjNt7bnPATA6MA

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICdzCCAh6gAwIBAgIDDiAuMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMS5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmcxLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgZExCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcxLmNoYWlubWFrZXIub3Jn
MQ8wDQYDVQQLEwZjb21tb24xLDAqBgNVBAMTI2NvbW1vbjEuc2lnbi53eC1vcmcx
LmNoYWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEdjZkcfJi
7RgLtp9rrE/GoDKvPIim3ocWNpo80xk0oWiK07IleFugbt1qfciXzkEk5Qt6qfeF
TinHWEHlK0Zz4aNqMGgwDgYDVR0PAQH/BAQDAgbAMCkGA1UdDgQiBCBwv8sk+Z8d
OwuXIYgZN0+MvJO0DFBx+bIjV5JXnc0btzArBgNVHSMEJDAigCAuvjXHStST+iEe
qTgDErMSOuiAb4LdhOjdKzMgnBbbrzAKBggqhkjOPQQDAgNHADBEAiA8p6MEI1yD
2X3gdfZY8U2eiyKpi0QU+6V3b9Ng5EwmuAIgUcAxLCrFfVpc6YiPQhnT3VsGFucO
DeFcKpjNlLnJk2U=
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIBcEqcl1DO1sSgxdimqMVJW00uz/+YKzHs54QqsBPrMBoAoGCCqGSM49
AwEHoUQDQgAEdjZkcfJi7RgLtp9rrE/GoDKvPIim3ocWNpo80xk0oWiK07IleFug
bt1qfciXzkEk5Qt6qfeFTinHWEHlK0Zz4Q==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,18 @@
-----BEGIN CERTIFICATE-----
MIIC6TCCAo6gAwIBAgIDDOyTMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMS5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmcxLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgZAxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcxLmNoYWlubWFrZXIub3Jn
MQ8wDQYDVQQLEwZjb21tb24xKzApBgNVBAMTImNvbW1vbjEudGxzLnd4LW9yZzEu
Y2hhaW5tYWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATURBmhgr4E
dns5jIY3juTgYakl1KxAUnE9MjsjWGWWSrJNTnnE2ZnReJgurbbyWx8juddagg37
zebJbMEiC4DSo4HaMIHXMA4GA1UdDwEB/wQEAwID+DAdBgNVHSUEFjAUBggrBgEF
BQcDAQYIKwYBBQUHAwIwKQYDVR0OBCIEII/oyfOqWtRUhGvMw7v5ITLbhQ0ro8jb
VvpL9kB2SR4mMCsGA1UdIwQkMCKAIC6+NcdK1JP6IR6pOAMSsxI66IBvgt2E6N0r
MyCcFtuvME4GA1UdEQRHMEWCDmNoYWlubWFrZXIub3Jngglsb2NhbGhvc3SCImNv
bW1vbjEudGxzLnd4LW9yZzEuY2hhaW5tYWtlci5vcmeHBH8AAAEwCgYIKoZIzj0E
AwIDSQAwRgIhALLY8YjRu0+w6R+otMXLn1bKyl1AXxJLLyoOMiYAldjlAiEAsZWa
akY4sXxzvUV3/124rUo7HNR/QD+fq4O5iQ99xcE=
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIADOgk/2hZpznKphelPpcALPOZu+d58CMFzhM57C31JpoAoGCCqGSM49
AwEHoUQDQgAE1EQZoYK+BHZ7OYyGN47k4GGpJdSsQFJxPTI7I1hllkqyTU55xNmZ
0XiYLq228lsfI7nXWoIN+83myWzBIguA0g==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1 @@
Qmc5uHS9TzSrfZB8wAVVHDPCV1DAdUvtWf7XkopW4zfaDy

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICfTCCAiSgAwIBAgIDAevkMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMS5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmcxLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgZcxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcxLmNoYWlubWFrZXIub3Jn
MRIwEAYDVQQLEwljb25zZW5zdXMxLzAtBgNVBAMTJmNvbnNlbnN1czEuc2lnbi53
eC1vcmcxLmNoYWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
2anlTCQp9hr8sEi6c0FMRNQZTScOmalFO8sx4PmxyghtpkmcFuowMUYLUSHhvqWp
SDj+qT2dbXMbtIZD3S0apKNqMGgwDgYDVR0PAQH/BAQDAgbAMCkGA1UdDgQiBCBd
O+GCCyZHXJZ0hgtd98gy/deu09MEEH5b9iDwV4u2vDArBgNVHSMEJDAigCAuvjXH
StST+iEeqTgDErMSOuiAb4LdhOjdKzMgnBbbrzAKBggqhkjOPQQDAgNHADBEAiAG
zv9zzSoMlKXJ+2MkD7TyIdT6CaVNdDB93pGLibsHQQIgOibqEvsOOiUbwgqcbjsK
/g3+Kg0bej7aL3DvJ3J0Zog=
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIOJfyzMfUcnAGRPy3p6nuDY8VT9Fjt731Fr8qbHWuXM1oAoGCCqGSM49
AwEHoUQDQgAE2anlTCQp9hr8sEi6c0FMRNQZTScOmalFO8sx4PmxyghtpkmcFuow
MUYLUSHhvqWpSDj+qT2dbXMbtIZD3S0apA==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,18 @@
-----BEGIN CERTIFICATE-----
MIIC7zCCApegAwIBAgIDCf9bMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMS5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmcxLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgZYxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcxLmNoYWlubWFrZXIub3Jn
MRIwEAYDVQQLEwljb25zZW5zdXMxLjAsBgNVBAMTJWNvbnNlbnN1czEudGxzLnd4
LW9yZzEuY2hhaW5tYWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATI
LL6iEMkVDoYlrjpWM4qqi5rdXd34/vioj9b4d4gIw51NYd5s48Jg0Dw1gZgPTZU0
UgNvfCNjAptQQxY70g4do4HdMIHaMA4GA1UdDwEB/wQEAwID+DAdBgNVHSUEFjAU
BggrBgEFBQcDAQYIKwYBBQUHAwIwKQYDVR0OBCIEIMDd+rnn2WPZk8a6Fjuzqv4p
bOLOEdy63PjiY2zo8NDrMCsGA1UdIwQkMCKAIC6+NcdK1JP6IR6pOAMSsxI66IBv
gt2E6N0rMyCcFtuvMFEGA1UdEQRKMEiCDmNoYWlubWFrZXIub3Jngglsb2NhbGhv
c3SCJWNvbnNlbnN1czEudGxzLnd4LW9yZzEuY2hhaW5tYWtlci5vcmeHBH8AAAEw
CgYIKoZIzj0EAwIDRgAwQwIgGqIOT2dCHF7ymXyHc9cuDfqBioUlIwEamRuj/02M
ahYCH1cpPo9Aezze8F9DRhlvSa2wNfynUi3qxwrnRpzAlwo=
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIDAVtNxNTYRSFprPsdjmAkmsOxn0u+5vYIYy3rLQIrj6oAoGCCqGSM49
AwEHoUQDQgAEyCy+ohDJFQ6GJa46VjOKqoua3V3d+P74qI/W+HeICMOdTWHebOPC
YNA8NYGYD02VNFIDb3wjYwKbUEMWO9IOHQ==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICdjCCAhygAwIBAgIDDh9CMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMS5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmcxLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgY8xCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcxLmNoYWlubWFrZXIub3Jn
MQ4wDAYDVQQLEwVhZG1pbjErMCkGA1UEAxMiYWRtaW4xLnNpZ24ud3gtb3JnMS5j
aGFpbm1ha2VyLm9yZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABNFRtUk7IUab
S+UPFP724DZUY4a9Im2APQftGqwS8VqHBCicF5ZXj8cVItoqeHkO5WmThmu9wtVZ
23308tquGEOjajBoMA4GA1UdDwEB/wQEAwIGwDApBgNVHQ4EIgQg7muwg0y5vkiv
aS/UfJQqF7pZWQlo25Py3aVvadqZxcQwKwYDVR0jBCQwIoAgLr41x0rUk/ohHqk4
AxKzEjrogG+C3YTo3SszIJwW268wCgYIKoZIzj0EAwIDSAAwRQIhALHS8YWkjS/z
6MxYKocFkzx+xdCz1sLDmHFNpVNZnZnAAiBgoU6UWinB/GJ6JscOks1qrZJgEb8N
sHLF0Z66yNZ9Mg==
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIL0imZOAQppQzcqcHwoD5lK9UFBQe2rzIzGeRwvcTRN/oAoGCCqGSM49
AwEHoUQDQgAE0VG1STshRptL5Q8U/vbgNlRjhr0ibYA9B+0arBLxWocEKJwXlleP
xxUi2ip4eQ7laZOGa73C1VnbffTy2q4YQw==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICijCCAjCgAwIBAgIDBtLxMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMS5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmcxLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgY4xCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcxLmNoYWlubWFrZXIub3Jn
MQ4wDAYDVQQLEwVhZG1pbjEqMCgGA1UEAxMhYWRtaW4xLnRscy53eC1vcmcxLmNo
YWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEZqzsLcALkydf
CI0x1bSCh09NXXWrXp1Nf/pLuFxJu2TaI7y/pbhhmgYpq8eRgqmT3V2JthZzHp7n
L3JP1sjAwaN/MH0wDgYDVR0PAQH/BAQDAgP4MBMGA1UdJQQMMAoGCCsGAQUFBwMC
MCkGA1UdDgQiBCC8zPVFWefGcrLC3dwqrmMQ453v6JWLroNsicJ6vRW7AjArBgNV
HSMEJDAigCAuvjXHStST+iEeqTgDErMSOuiAb4LdhOjdKzMgnBbbrzAKBggqhkjO
PQQDAgNIADBFAiEA1UyzDUXSvY0DDj57OB/qqer1/RyBHFaosqvgHA4FhacCIDW4
a+xTWMryysaSHus7iBx/QmTTjVPv1FCSeaknjxS9
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIEB/7iHWA0mkn/Y5xFeu2UV7kTGxJ88fyhvVPu3IzYDaoAoGCCqGSM49
AwEHoUQDQgAEZqzsLcALkydfCI0x1bSCh09NXXWrXp1Nf/pLuFxJu2TaI7y/pbhh
mgYpq8eRgqmT3V2JthZzHp7nL3JP1sjAwQ==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1 @@
HNxuBcs4KDM6e6UqWG9idmchhhN3yGhNeQDGrz31pGSw

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICdzCCAh2gAwIBAgICNxAwCgYIKoZIzj0EAwIwgYoxCzAJBgNVBAYTAkNOMRAw
DgYDVQQIEwdCZWlqaW5nMRAwDgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1v
cmcxLmNoYWlubWFrZXIub3JnMRIwEAYDVQQLEwlyb290LWNlcnQxIjAgBgNVBAMT
GWNhLnd4LW9yZzEuY2hhaW5tYWtlci5vcmcwHhcNMjIwNjE1MTI1NTU3WhcNMjcw
NjE0MTI1NTU3WjCBkTELMAkGA1UEBhMCQ04xEDAOBgNVBAgTB0JlaWppbmcxEDAO
BgNVBAcTB0JlaWppbmcxHzAdBgNVBAoTFnd4LW9yZzEuY2hhaW5tYWtlci5vcmcx
DzANBgNVBAsTBmNsaWVudDEsMCoGA1UEAxMjY2xpZW50MS5zaWduLnd4LW9yZzEu
Y2hhaW5tYWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATHBLlAgvHJ
jK4FgFidafiLux+bS8VXXQvFrvZocvl7gOJPBjh5JVyd30DxOgp3ITb0Y8oC7BE4
uVWKfMYE/HS5o2owaDAOBgNVHQ8BAf8EBAMCBsAwKQYDVR0OBCIEIPzX72//n40A
bWojAzfb8d9Ue2tcXlN6YHvpmoAAYi4YMCsGA1UdIwQkMCKAIC6+NcdK1JP6IR6p
OAMSsxI66IBvgt2E6N0rMyCcFtuvMAoGCCqGSM49BAMCA0gAMEUCIARmgzLZIFOD
90sV0Ig3A2c/vYaQxskS/C2lr8d67vHUAiEA9qBqGKEOGCN67aEZCYet4AsmcwUW
WGWJPYzeT9bvZwo=
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEILIpsA9/nmNbY5BMucgyOG9rvl/7ky76zdxQUctzAbrjoAoGCCqGSM49
AwEHoUQDQgAExwS5QILxyYyuBYBYnWn4i7sfm0vFV10Lxa72aHL5e4DiTwY4eSVc
nd9A8ToKdyE29GPKAuwROLlVinzGBPx0uQ==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICjDCCAjKgAwIBAgIDCjF9MAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMS5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmcxLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgZAxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcxLmNoYWlubWFrZXIub3Jn
MQ8wDQYDVQQLEwZjbGllbnQxKzApBgNVBAMTImNsaWVudDEudGxzLnd4LW9yZzEu
Y2hhaW5tYWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARnIcM2z/eD
qnZCtmoMWlL+p6bgrkVZwWzBm1X+609DApyA86QSczNhoF/zBPz4zH8hff5JdFr/
IpLrTuuQMfEbo38wfTAOBgNVHQ8BAf8EBAMCA/gwEwYDVR0lBAwwCgYIKwYBBQUH
AwIwKQYDVR0OBCIEICAz4s9FN9ROyg9N1OYirgcfnL6ClBPahQmzSOoBemutMCsG
A1UdIwQkMCKAIC6+NcdK1JP6IR6pOAMSsxI66IBvgt2E6N0rMyCcFtuvMAoGCCqG
SM49BAMCA0gAMEUCIDlktOW7MqXiQxgcsNXjF1FwOTHg7Kn+V0JD1KK6fi+fAiEA
744t0zXNnaBW/pulvGH0Th8Do9e+eyXE35aVxugpJMM=
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIMBwYSyDhpFMgYHSNPeDaeimBcOqwoTasawOElji/IunoAoGCCqGSM49
AwEHoUQDQgAEZyHDNs/3g6p2QrZqDFpS/qem4K5FWcFswZtV/utPQwKcgPOkEnMz
YaBf8wT8+Mx/IX3+SXRa/yKS607rkDHxGw==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICdjCCAhygAwIBAgIDAmA6MAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMS5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmcxLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgY8xCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcxLmNoYWlubWFrZXIub3Jn
MQ4wDAYDVQQLEwVsaWdodDErMCkGA1UEAxMibGlnaHQxLnNpZ24ud3gtb3JnMS5j
aGFpbm1ha2VyLm9yZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABIG8BZJLfwVJ
DG0Kg32gn+SUqz7xazf2qYTSGaoshG3Dc8j0oop1BQaFsNDIGsjNEd9uPUmvQpRF
SV4TmuWYKd6jajBoMA4GA1UdDwEB/wQEAwIGwDApBgNVHQ4EIgQgiysxVGiRTnV8
FFF3KYzo6fYnZTQMD8c1vlkWcqESi1EwKwYDVR0jBCQwIoAgLr41x0rUk/ohHqk4
AxKzEjrogG+C3YTo3SszIJwW268wCgYIKoZIzj0EAwIDSAAwRQIgVi3yNy5ANsjz
EsP7UrPFNzopBfQnG2pyzpUCViyiZFoCIQDgFvYg34WLDyXMi4zy7tNTww6YIQp6
vh2HXJFL5zFpUA==
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEINpQ/2af4YwsVgJInW6NqmOt32vpn7gYeWDCZP02eXlvoAoGCCqGSM49
AwEHoUQDQgAEgbwFkkt/BUkMbQqDfaCf5JSrPvFrN/aphNIZqiyEbcNzyPSiinUF
BoWw0MgayM0R3249Sa9ClEVJXhOa5Zgp3g==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICijCCAjCgAwIBAgIDDxQrMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMS5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmcxLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgY4xCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcxLmNoYWlubWFrZXIub3Jn
MQ4wDAYDVQQLEwVsaWdodDEqMCgGA1UEAxMhbGlnaHQxLnRscy53eC1vcmcxLmNo
YWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEfBm7cgbuErSn
KVCpHvQQs4Yt3rMfjSVo2YIMEqAXMVgskfSnfyl1W+jNT2B+5D/HoadW9pY/eeGm
EADnoiuKA6N/MH0wDgYDVR0PAQH/BAQDAgP4MBMGA1UdJQQMMAoGCCsGAQUFBwMC
MCkGA1UdDgQiBCD0S7+NawEWniQ5AtCUfQg5fmWMQWNSVforM/hlnYqW4zArBgNV
HSMEJDAigCAuvjXHStST+iEeqTgDErMSOuiAb4LdhOjdKzMgnBbbrzAKBggqhkjO
PQQDAgNIADBFAiEAp3JOv/Llldr5bA1eMPa9Xd31lV+tBrMTwim9zY4gD5ICIBok
cCfgiwl93hXThVo1591iXCAlx7sz8cbHF6ohQhEz
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIHAuvWofwzgKkz3JPKIH6SybV95PkWwZH7XzRHs/f4YmoAoGCCqGSM49
AwEHoUQDQgAEfBm7cgbuErSnKVCpHvQQs4Yt3rMfjSVo2YIMEqAXMVgskfSnfyl1
W+jNT2B+5D/HoadW9pY/eeGmEADnoiuKAw==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,17 @@
-----BEGIN CERTIFICATE-----
MIICnzCCAkSgAwIBAgIDB0U1MAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMi5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmcyLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTMy
MDYxMjEyNTU1N1owgYoxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcyLmNoYWlubWFrZXIub3Jn
MRIwEAYDVQQLEwlyb290LWNlcnQxIjAgBgNVBAMTGWNhLnd4LW9yZzIuY2hhaW5t
YWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQvXHMs/5BkyWXW2B1W
8MEqcitPawBIX5mHm9uA5uxRu0sAZ2UeAQM8/n94QqjUOYb9vQPPMamXSPM9jxGK
mnylo4GWMIGTMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
DgQiBCDXmnLhhlD2+hB1Zhp6iDCOCCfcGshmHgWQ+3m/D+aQ9jBFBgNVHREEPjA8
gg5jaGFpbm1ha2VyLm9yZ4IJbG9jYWxob3N0ghljYS53eC1vcmcyLmNoYWlubWFr
ZXIub3JnhwR/AAABMAoGCCqGSM49BAMCA0kAMEYCIQDhQQ6fJBDjVa7AP7sIm6kr
M40s/Qk3OaPDGI7FuqngzAIhAJPiGG3BYWPnYZnx0n5igRxup8PNpvaImT4TCz/8
PC3F
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIAtc4bBTw/+K806hYtIDepOb4SSpet5mPCOahgMzWuQPoAoGCCqGSM49
AwEHoUQDQgAEL1xzLP+QZMll1tgdVvDBKnIrT2sASF+Zh5vbgObsUbtLAGdlHgED
PP5/eEKo1DmG/b0DzzGpl0jzPY8Ripp8pQ==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1 @@
QmTxuY1RjiD9X7CdFENzQ7rrmG3zCfbozusvq61FFaUCXp

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICdzCCAh6gAwIBAgIDCne6MAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMi5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmcyLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgZExCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcyLmNoYWlubWFrZXIub3Jn
MQ8wDQYDVQQLEwZjb21tb24xLDAqBgNVBAMTI2NvbW1vbjEuc2lnbi53eC1vcmcy
LmNoYWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEupWu+AP1
JiIGxAsLfulPKmH/svm4hYMgevn+os76frpTnrcYSjv90dHYc+vholEGHxsMXtb6
4q5MSLMMKqGDjqNqMGgwDgYDVR0PAQH/BAQDAgbAMCkGA1UdDgQiBCDlQ5iIH637
7+GoeAGm+I+GoHT9WeYgnwhYPC0H8jNtbDArBgNVHSMEJDAigCDXmnLhhlD2+hB1
Zhp6iDCOCCfcGshmHgWQ+3m/D+aQ9jAKBggqhkjOPQQDAgNHADBEAiBHhLPbog+x
VORkJYhB4kGpCtw8VUaAcd5aB8L/FDb18gIgMLURiChJWYbMesDINnwHSYj1ygbj
fAkpqLu6f6Z56V4=
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIDPUlBSBv3lXLSAB9lfWNW9PoS/diJLTguKAZ4TLVi2PoAoGCCqGSM49
AwEHoUQDQgAEupWu+AP1JiIGxAsLfulPKmH/svm4hYMgevn+os76frpTnrcYSjv9
0dHYc+vholEGHxsMXtb64q5MSLMMKqGDjg==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,18 @@
-----BEGIN CERTIFICATE-----
MIIC6DCCAo6gAwIBAgIDA9GmMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMi5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmcyLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgZAxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcyLmNoYWlubWFrZXIub3Jn
MQ8wDQYDVQQLEwZjb21tb24xKzApBgNVBAMTImNvbW1vbjEudGxzLnd4LW9yZzIu
Y2hhaW5tYWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAT2a/P+aOZB
6F5ms4SXzXqIeteafoO/AQKMH5U0HLsSIoOVSlKVBbmPQhzQi9+8Go6WV16xj6A3
KDUajcXa3kSUo4HaMIHXMA4GA1UdDwEB/wQEAwID+DAdBgNVHSUEFjAUBggrBgEF
BQcDAQYIKwYBBQUHAwIwKQYDVR0OBCIEID9n8xljkid8qQEHc37Rg5gRN0EXbeEU
ugbmVWGH4k5sMCsGA1UdIwQkMCKAINeacuGGUPb6EHVmGnqIMI4IJ9wayGYeBZD7
eb8P5pD2ME4GA1UdEQRHMEWCDmNoYWlubWFrZXIub3Jngglsb2NhbGhvc3SCImNv
bW1vbjEudGxzLnd4LW9yZzIuY2hhaW5tYWtlci5vcmeHBH8AAAEwCgYIKoZIzj0E
AwIDSAAwRQIgF5gEIU0jZyN1h7d0JSrs7IIOPvdD37TFZDEkR1SaFawCIQC2XW2H
L6fYHwe9xUwAHLlnE84/0BWAcczTV1eVHUgNyQ==
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEICSJYcPzXSdAxOuErfMFJwlggOLcrkiXtZ8qN7Sn1t9UoAoGCCqGSM49
AwEHoUQDQgAE9mvz/mjmQeheZrOEl816iHrXmn6DvwECjB+VNBy7EiKDlUpSlQW5
j0Ic0IvfvBqOlldesY+gNyg1Go3F2t5ElA==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1 @@
QmbnANcymr6inkypdEqt3SiYCPUEcTR362LZeV3oZm24SD

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICfTCCAiSgAwIBAgIDAkrhMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMi5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmcyLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgZcxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcyLmNoYWlubWFrZXIub3Jn
MRIwEAYDVQQLEwljb25zZW5zdXMxLzAtBgNVBAMTJmNvbnNlbnN1czEuc2lnbi53
eC1vcmcyLmNoYWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
hrYMdCbgvTP6WffC6kjjAnPz5rWnQJLHIKUxmL0RDPIi3S3/9Ze0YBZfYG1AFo1r
fZkAu9UTpcXGaC7vxCLP66NqMGgwDgYDVR0PAQH/BAQDAgbAMCkGA1UdDgQiBCB8
FxwWj3b7LLoTjObAa4/g8xcUDLupoaFOs0kVbBWQCTArBgNVHSMEJDAigCDXmnLh
hlD2+hB1Zhp6iDCOCCfcGshmHgWQ+3m/D+aQ9jAKBggqhkjOPQQDAgNHADBEAiBx
o6VaYM69fL/IkR46eO3cRL39Ed6WTudUCTfONGNhPQIgUwhQYDuuDLHYkiw+saJu
QpbuKw+IF0dLNScohi/j1Qw=
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIBhd3Cp8SLW2CUBMN3EzgmnHjeW9StUTaBLtyYRzussLoAoGCCqGSM49
AwEHoUQDQgAEhrYMdCbgvTP6WffC6kjjAnPz5rWnQJLHIKUxmL0RDPIi3S3/9Ze0
YBZfYG1AFo1rfZkAu9UTpcXGaC7vxCLP6w==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,18 @@
-----BEGIN CERTIFICATE-----
MIIC8DCCApegAwIBAgIDBV8dMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMi5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmcyLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgZYxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcyLmNoYWlubWFrZXIub3Jn
MRIwEAYDVQQLEwljb25zZW5zdXMxLjAsBgNVBAMTJWNvbnNlbnN1czEudGxzLnd4
LW9yZzIuY2hhaW5tYWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAT6
OhkyED0J3lQRifAttVeDPFeXPEtq9wRX0W6Y/8/tRQkEPYOWzX+6BU9IT1D0eZeU
EcD9fX0oA+4dS8UXcn+/o4HdMIHaMA4GA1UdDwEB/wQEAwID+DAdBgNVHSUEFjAU
BggrBgEFBQcDAQYIKwYBBQUHAwIwKQYDVR0OBCIEIJVAOUoNG9Sy3ndV+79Irm2J
l0AAFoVEAhdbVp4AZqs3MCsGA1UdIwQkMCKAINeacuGGUPb6EHVmGnqIMI4IJ9wa
yGYeBZD7eb8P5pD2MFEGA1UdEQRKMEiCDmNoYWlubWFrZXIub3Jngglsb2NhbGhv
c3SCJWNvbnNlbnN1czEudGxzLnd4LW9yZzIuY2hhaW5tYWtlci5vcmeHBH8AAAEw
CgYIKoZIzj0EAwIDRwAwRAIgdtNx+e6z5JVE18HeQI2ifkBwa2cj7bOD3gThpEw3
dsMCIAL6z3ApALWfwuQZ8C5sEZXdzrNepMJi3e+uPpo1Y++G
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIKE2I1sEiS2p+QJQqziYkkw0BjtgB8xCXzYpPzcVJzH1oAoGCCqGSM49
AwEHoUQDQgAE+joZMhA9Cd5UEYnwLbVXgzxXlzxLavcEV9FumP/P7UUJBD2Dls1/
ugVPSE9Q9HmXlBHA/X19KAPuHUvFF3J/vw==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICdTCCAhygAwIBAgIDCGwPMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMi5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmcyLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgY8xCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcyLmNoYWlubWFrZXIub3Jn
MQ4wDAYDVQQLEwVhZG1pbjErMCkGA1UEAxMiYWRtaW4xLnNpZ24ud3gtb3JnMi5j
aGFpbm1ha2VyLm9yZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABMegqf9FcU1q
e/CEQAYvL8UQdI3Fpk0LCVcsAgjfGjZZArNNwgs4dAWlXGh+h3pY5+6VQhDKjl+6
rRaZ1AfF/b2jajBoMA4GA1UdDwEB/wQEAwIGwDApBgNVHQ4EIgQgMzBmHTKedBUZ
cOxEXwp7Yfm5PWwvUR86f/FilZfOmHwwKwYDVR0jBCQwIoAg15py4YZQ9voQdWYa
eogwjggn3BrIZh4FkPt5vw/mkPYwCgYIKoZIzj0EAwIDRwAwRAIgXDfeuoja9/sZ
BdVBuAz7V/joAY+2okW9bdEqCZx12l4CIHGAyeJGHx7TkaABriBCfcXXaEDq0kj2
JR7zy00CQsy/
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIELVXwPk7z5ZDP9Gf/rgnZLyJKjVuV5q+3ENB/dsrtG6oAoGCCqGSM49
AwEHoUQDQgAEx6Cp/0VxTWp78IRABi8vxRB0jcWmTQsJVywCCN8aNlkCs03CCzh0
BaVcaH6Heljn7pVCEMqOX7qtFpnUB8X9vQ==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICizCCAjCgAwIBAgIDDuWdMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMi5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmcyLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgY4xCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcyLmNoYWlubWFrZXIub3Jn
MQ4wDAYDVQQLEwVhZG1pbjEqMCgGA1UEAxMhYWRtaW4xLnRscy53eC1vcmcyLmNo
YWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEXOYzj6eF+O2T
4s0IKDxKpB1PVlKNeJ4Mz9keDhzDX37rWzMm86uGha6+mULz5Rh52h4/pUUNo6bX
+ebJWlHSV6N/MH0wDgYDVR0PAQH/BAQDAgP4MBMGA1UdJQQMMAoGCCsGAQUFBwMC
MCkGA1UdDgQiBCA3wrVFIanCM8n2kNKj3fcV/MeBYTXgRdtRAk/3rFJ5RzArBgNV
HSMEJDAigCDXmnLhhlD2+hB1Zhp6iDCOCCfcGshmHgWQ+3m/D+aQ9jAKBggqhkjO
PQQDAgNJADBGAiEAlZo7aUWsKVENZvnP/jbufqudokHCqxJLozrsi4k8F4kCIQDn
b0jp7IJjzmZFpUxFOVE+h/cgsRExopk3rQItGZhKKw==
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIBgafhF9U416aQ4uqhX505SpjQLYwdh2zMf+k7P7EQtzoAoGCCqGSM49
AwEHoUQDQgAEXOYzj6eF+O2T4s0IKDxKpB1PVlKNeJ4Mz9keDhzDX37rWzMm86uG
ha6+mULz5Rh52h4/pUUNo6bX+ebJWlHSVw==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1 @@
7MVnb5xmRK8Tn53xF92mVH5XrsvSvtS9zvHXysue7yjJ

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICdzCCAh2gAwIBAgICLpUwCgYIKoZIzj0EAwIwgYoxCzAJBgNVBAYTAkNOMRAw
DgYDVQQIEwdCZWlqaW5nMRAwDgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1v
cmcyLmNoYWlubWFrZXIub3JnMRIwEAYDVQQLEwlyb290LWNlcnQxIjAgBgNVBAMT
GWNhLnd4LW9yZzIuY2hhaW5tYWtlci5vcmcwHhcNMjIwNjE1MTI1NTU3WhcNMjcw
NjE0MTI1NTU3WjCBkTELMAkGA1UEBhMCQ04xEDAOBgNVBAgTB0JlaWppbmcxEDAO
BgNVBAcTB0JlaWppbmcxHzAdBgNVBAoTFnd4LW9yZzIuY2hhaW5tYWtlci5vcmcx
DzANBgNVBAsTBmNsaWVudDEsMCoGA1UEAxMjY2xpZW50MS5zaWduLnd4LW9yZzIu
Y2hhaW5tYWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQp5PE7Aguu
XJKpqcEcYXaHLlVQglwOSL10g4WEVftWG6M9rrXQoAV9+q3yQS3tgHAzsYDDRDI0
q0S8IDoGWItJo2owaDAOBgNVHQ8BAf8EBAMCBsAwKQYDVR0OBCIEIJleAc9Cfx08
uycpxe5+vS4UOBzubmyudgVXmho2uBgRMCsGA1UdIwQkMCKAINeacuGGUPb6EHVm
GnqIMI4IJ9wayGYeBZD7eb8P5pD2MAoGCCqGSM49BAMCA0gAMEUCIQCH077cEBKc
VrUJf10o+hYX1AiVVirN9Pi0590tu0YafwIgQ5obYokmcR/xaQYfVcomGbqaP8tY
xcWqjwnvCHTfeU8=
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIOX8stLmTdGesFv6BIN2ZmlOGhmPVnyOrKMRjjkgxjuQoAoGCCqGSM49
AwEHoUQDQgAEKeTxOwILrlySqanBHGF2hy5VUIJcDki9dIOFhFX7VhujPa610KAF
ffqt8kEt7YBwM7GAw0QyNKtEvCA6BliLSQ==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICjTCCAjKgAwIBAgIDDHYrMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMi5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmcyLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgZAxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcyLmNoYWlubWFrZXIub3Jn
MQ8wDQYDVQQLEwZjbGllbnQxKzApBgNVBAMTImNsaWVudDEudGxzLnd4LW9yZzIu
Y2hhaW5tYWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATiCU4RBLla
QrR98OAfoMATtfdZwVc1wgwSYFb6vu2BqZWCNVF1c/SkDKOmJo8wFpwgBOc6h1lu
LZu4M7tVcflao38wfTAOBgNVHQ8BAf8EBAMCA/gwEwYDVR0lBAwwCgYIKwYBBQUH
AwIwKQYDVR0OBCIEIJYGpYiYgz+UbXyJVQzMVCFhRsiBKzlcx8soqIl47ODiMCsG
A1UdIwQkMCKAINeacuGGUPb6EHVmGnqIMI4IJ9wayGYeBZD7eb8P5pD2MAoGCCqG
SM49BAMCA0kAMEYCIQDlsX7PEJOYSEAdiVu1CpQloxhtDnFDS+wesFfmFll9QwIh
AM0yj2zfDmdi7vG/xPmoNimB+x2YiEdx3cENUclvxLrS
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIKLt2DpgPXV6S7WdeU+Pn/uiIbi7/SKrNsJAjOZmdsQsoAoGCCqGSM49
AwEHoUQDQgAE4glOEQS5WkK0ffDgH6DAE7X3WcFXNcIMEmBW+r7tgamVgjVRdXP0
pAyjpiaPMBacIATnOodZbi2buDO7VXH5Wg==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICdjCCAhygAwIBAgIDBf1AMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMi5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmcyLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgY8xCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcyLmNoYWlubWFrZXIub3Jn
MQ4wDAYDVQQLEwVsaWdodDErMCkGA1UEAxMibGlnaHQxLnNpZ24ud3gtb3JnMi5j
aGFpbm1ha2VyLm9yZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABAIDMNZXfm0y
YhH429yu16lgr8MMOSDcKocaKjCSzdE30m/mGhpX+531ZeHdfsOIJv7rx/Ret6M2
583TlSJx09WjajBoMA4GA1UdDwEB/wQEAwIGwDApBgNVHQ4EIgQgbwArYJIwwY2F
vg3qiUYf5dVlsjxv2YaGRqWVHYpf/4cwKwYDVR0jBCQwIoAg15py4YZQ9voQdWYa
eogwjggn3BrIZh4FkPt5vw/mkPYwCgYIKoZIzj0EAwIDSAAwRQIgGnDU1xbrG0am
bXoKRqgj03Fx/1opO5Y6ONoy9I6A67oCIQDSyVDb5MIRHSyUmP4RY00H4MLLnZ5b
ixC5ya3KQ5EQAg==
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIO+Lplfmi+sLB/vxnuLmBBooakmMNjdRSgmc5fLuzOUtoAoGCCqGSM49
AwEHoUQDQgAEAgMw1ld+bTJiEfjb3K7XqWCvwww5INwqhxoqMJLN0TfSb+YaGlf7
nfVl4d1+w4gm/uvH9F63ozbnzdOVInHT1Q==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICiTCCAjCgAwIBAgIDBwCkMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMi5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmcyLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgY4xCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmcyLmNoYWlubWFrZXIub3Jn
MQ4wDAYDVQQLEwVsaWdodDEqMCgGA1UEAxMhbGlnaHQxLnRscy53eC1vcmcyLmNo
YWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEV3HWm/+FYm3M
3ujCiDhspdwMHNB/+UG6dcl3k/dFaKhDcrc4xuhrhiiqNXpJNX+IypVymVbmJVBg
IN1bJbyI6aN/MH0wDgYDVR0PAQH/BAQDAgP4MBMGA1UdJQQMMAoGCCsGAQUFBwMC
MCkGA1UdDgQiBCCYh238FOjggFXvM9j0jvrG/eQf82g7JJRETutn1BXdiTArBgNV
HSMEJDAigCDXmnLhhlD2+hB1Zhp6iDCOCCfcGshmHgWQ+3m/D+aQ9jAKBggqhkjO
PQQDAgNHADBEAiAFnluKqbwSUvK3EtXmZJKOQwBhxU4yAjdY6cohtouE2AIgPXNA
h3dWdVBfiWedUf8g06e9MWWtymM9VM8FHqsZzZ8=
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIMxsh6PZa6KMPzZXE9VD1/Y/SwwUhp9i55/7nmCVibAOoAoGCCqGSM49
AwEHoUQDQgAEV3HWm/+FYm3M3ujCiDhspdwMHNB/+UG6dcl3k/dFaKhDcrc4xuhr
hiiqNXpJNX+IypVymVbmJVBgIN1bJbyI6Q==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,17 @@
-----BEGIN CERTIFICATE-----
MIICnTCCAkSgAwIBAgIDCpNyMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMy5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmczLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTMy
MDYxMjEyNTU1N1owgYoxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmczLmNoYWlubWFrZXIub3Jn
MRIwEAYDVQQLEwlyb290LWNlcnQxIjAgBgNVBAMTGWNhLnd4LW9yZzMuY2hhaW5t
YWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASzU3dKt9jaQsEoiCXG
O0+OYJQimIM60Wj2el1/kct58xszBkR5phv6xHg1cIY0gLWu/WL+olZtb/pV1TSq
Jgh/o4GWMIGTMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
DgQiBCCFG3Sq+j6WM+1hv2YtS/G/WV4L8HIRSO5MboPdKmf09DBFBgNVHREEPjA8
gg5jaGFpbm1ha2VyLm9yZ4IJbG9jYWxob3N0ghljYS53eC1vcmczLmNoYWlubWFr
ZXIub3JnhwR/AAABMAoGCCqGSM49BAMCA0cAMEQCICpF2TyE/vFA5OK10Kc602rR
Nl+SnyqiJ9g+eCaJ3Q2TAiBiyAAa1AYeYKA7Fa7M5uB4VN74uvCJwJlA83a1jzwv
cg==
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEICHEnNd06gMq5Yh574j2WKt5A+cVp3NeEgJ13mOpK8EnoAoGCCqGSM49
AwEHoUQDQgAEs1N3SrfY2kLBKIglxjtPjmCUIpiDOtFo9npdf5HLefMbMwZEeaYb
+sR4NXCGNIC1rv1i/qJWbW/6VdU0qiYIfw==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1 @@
QmbCT5W3CvtvtyCLs1DDnWZzuV6gz2rrWVka9SjkXdb2dz

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICeTCCAh6gAwIBAgIDDYYvMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMy5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmczLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgZExCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmczLmNoYWlubWFrZXIub3Jn
MQ8wDQYDVQQLEwZjb21tb24xLDAqBgNVBAMTI2NvbW1vbjEuc2lnbi53eC1vcmcz
LmNoYWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEJq6x/baT
X7GZSf/qb4K8DCID8UXSeOyDa8IQjuqm+EVkUzxZwPb7VKjdN4bL1suiOd6ZIlOf
c2PhL8RCgcfrD6NqMGgwDgYDVR0PAQH/BAQDAgbAMCkGA1UdDgQiBCBp96wiG7/j
E2ObMVCQ2rVSgEP9o1r9zknoQgSVW45iTzArBgNVHSMEJDAigCCFG3Sq+j6WM+1h
v2YtS/G/WV4L8HIRSO5MboPdKmf09DAKBggqhkjOPQQDAgNJADBGAiEAvUWujtXu
acBSWl1ikVXcksW1aezcP6F3T2p+QfxTEukCIQDbH7nbmU7CFc23IJ96gQJV7ydl
O/Aa27eI66i8GQ8bvA==
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIOK1zL3o2mm8RcPoz77Wk2Hoxqes7yzTLNdIX+F7TdZioAoGCCqGSM49
AwEHoUQDQgAEJq6x/baTX7GZSf/qb4K8DCID8UXSeOyDa8IQjuqm+EVkUzxZwPb7
VKjdN4bL1suiOd6ZIlOfc2PhL8RCgcfrDw==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,18 @@
-----BEGIN CERTIFICATE-----
MIIC6DCCAo6gAwIBAgIDAQ4LMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMy5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmczLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgZAxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmczLmNoYWlubWFrZXIub3Jn
MQ8wDQYDVQQLEwZjb21tb24xKzApBgNVBAMTImNvbW1vbjEudGxzLnd4LW9yZzMu
Y2hhaW5tYWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQdj56i7A1N
l9IW3n0vtcD7BrV/pGP3sNdcccH49Bc/lVTCHD/lsWB0VH0F4vWeof+OHN79De9n
EooxglKFMSPvo4HaMIHXMA4GA1UdDwEB/wQEAwID+DAdBgNVHSUEFjAUBggrBgEF
BQcDAQYIKwYBBQUHAwIwKQYDVR0OBCIEIH6GxbYwM7XtjVDMj/y2LuLQT8pgrF2w
WbCqMlE+OR4rMCsGA1UdIwQkMCKAIIUbdKr6PpYz7WG/Zi1L8b9ZXgvwchFI7kxu
g90qZ/T0ME4GA1UdEQRHMEWCDmNoYWlubWFrZXIub3Jngglsb2NhbGhvc3SCImNv
bW1vbjEudGxzLnd4LW9yZzMuY2hhaW5tYWtlci5vcmeHBH8AAAEwCgYIKoZIzj0E
AwIDSAAwRQIgeV60+Wuh07pyGAon8vBh3yFR443FuCEm4bLh2VDdaaUCIQD3ARZR
2jTnIkwmavzeNZWlMOOGnwnpCBlfJvtNCkhfpw==
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIIcgdppt2wnkShJ7dKZyq+Knrzr2ouYBcz7BM+zFOd5woAoGCCqGSM49
AwEHoUQDQgAEHY+eouwNTZfSFt59L7XA+wa1f6Rj97DXXHHB+PQXP5VUwhw/5bFg
dFR9BeL1nqH/jhze/Q3vZxKKMYJShTEj7w==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1 @@
QmS7A1f1xJrnfaF1bBr5p8gS6Y5RoswBMaFU2q8R3wyF8D

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICfjCCAiSgAwIBAgIDDtnsMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMy5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmczLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgZcxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmczLmNoYWlubWFrZXIub3Jn
MRIwEAYDVQQLEwljb25zZW5zdXMxLzAtBgNVBAMTJmNvbnNlbnN1czEuc2lnbi53
eC1vcmczLmNoYWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
UQASWJ6g57Wny47Q4NZsdtSaW5i5MgJ/RtS8OZJEbN5kzqTpJltGoAmwygezoOpO
FT4AiKDP0wwQl/3bhEvfUqNqMGgwDgYDVR0PAQH/BAQDAgbAMCkGA1UdDgQiBCCM
/G2+RsHUB1EUAQTS6EJrsYPbqjjcNIvjDmrOiO2l5DArBgNVHSMEJDAigCCFG3Sq
+j6WM+1hv2YtS/G/WV4L8HIRSO5MboPdKmf09DAKBggqhkjOPQQDAgNIADBFAiBr
UfvVBm+NyV8dwmJLH4OPWOS4WstxASl1y+jNH7rADQIhAOIJRC0hu4hz54kprv+s
IzvI/IsmDi1Kk9PT8I/anSex
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIPyw5dEepodfnj0HaeUxs6K5/+KvCdbiDsg/fFFmAfgnoAoGCCqGSM49
AwEHoUQDQgAEUQASWJ6g57Wny47Q4NZsdtSaW5i5MgJ/RtS8OZJEbN5kzqTpJltG
oAmwygezoOpOFT4AiKDP0wwQl/3bhEvfUg==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,18 @@
-----BEGIN CERTIFICATE-----
MIIC8TCCApegAwIBAgIDAztaMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMy5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmczLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgZYxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmczLmNoYWlubWFrZXIub3Jn
MRIwEAYDVQQLEwljb25zZW5zdXMxLjAsBgNVBAMTJWNvbnNlbnN1czEudGxzLnd4
LW9yZzMuY2hhaW5tYWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAT2
Xzzauu1OaqK9xCttwaz4Lx3yn/B10w7pG9f0/DH5GHpj7oXYiZdygJ6euG8xTMx+
JVy25RYKhHP6mT2/ww94o4HdMIHaMA4GA1UdDwEB/wQEAwID+DAdBgNVHSUEFjAU
BggrBgEFBQcDAQYIKwYBBQUHAwIwKQYDVR0OBCIEILCT1PgFHe9pqta/WTEofA10
IkPDs/0t5YuQbXOA7u2GMCsGA1UdIwQkMCKAIIUbdKr6PpYz7WG/Zi1L8b9ZXgvw
chFI7kxug90qZ/T0MFEGA1UdEQRKMEiCDmNoYWlubWFrZXIub3Jngglsb2NhbGhv
c3SCJWNvbnNlbnN1czEudGxzLnd4LW9yZzMuY2hhaW5tYWtlci5vcmeHBH8AAAEw
CgYIKoZIzj0EAwIDSAAwRQIhAIMXDvEaLhjTDU7XVjCBjQLU9tE/Xaybm6zLATyF
8E31AiAMEg8E1nd5TxGDz+Czgiq6Tvv6DewuJs7UPl+tfmrZPw==
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIISuNnnxWlrQ+Bfn8rVYRUGPnWfnk/iCR4REpkrOZwpKoAoGCCqGSM49
AwEHoUQDQgAE9l882rrtTmqivcQrbcGs+C8d8p/wddMO6RvX9Pwx+Rh6Y+6F2ImX
coCenrhvMUzMfiVctuUWCoRz+pk9v8MPeA==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICdjCCAhygAwIBAgIDCwg4MAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMy5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmczLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgY8xCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmczLmNoYWlubWFrZXIub3Jn
MQ4wDAYDVQQLEwVhZG1pbjErMCkGA1UEAxMiYWRtaW4xLnNpZ24ud3gtb3JnMy5j
aGFpbm1ha2VyLm9yZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJm56+i19UZ8
zbHC669fwX6HYTzs1Z2wYVhae92CNvBtwVK+e+/IV8NDlFeFImfwTFMBpBplpL+w
oYbwPOVcjD+jajBoMA4GA1UdDwEB/wQEAwIGwDApBgNVHQ4EIgQgg/Rt0xEdbPBR
iQOgUc0Jj2eqA7A++Hn2mcKL0u1CX6wwKwYDVR0jBCQwIoAghRt0qvo+ljPtYb9m
LUvxv1leC/ByEUjuTG6D3Spn9PQwCgYIKoZIzj0EAwIDSAAwRQIgEzhACprbtDHN
GSbmAdzsKTShPowNrnObSJ5Koyq26qoCIQDugD662rNbNh1S4UBAqVSQjq1mbDxM
o5E63KVtxZMx3g==
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIIY6DXS6CsjsYAIceKaB1SlJJaqchSgl9Zt2TMarbTIqoAoGCCqGSM49
AwEHoUQDQgAEmbnr6LX1RnzNscLrr1/BfodhPOzVnbBhWFp73YI28G3BUr5778hX
w0OUV4UiZ/BMUwGkGmWkv7ChhvA85VyMPw==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICijCCAjCgAwIBAgIDBL07MAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMy5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmczLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgY4xCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmczLmNoYWlubWFrZXIub3Jn
MQ4wDAYDVQQLEwVhZG1pbjEqMCgGA1UEAxMhYWRtaW4xLnRscy53eC1vcmczLmNo
YWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEE9xAF0VzyGec
og1kTtLxEcpuP3b+hHL+2aqkNJ0qHs4sFW7QzFYyDn4h88wFqtvqhmO8sk6hZzoi
GlEcTaIfGqN/MH0wDgYDVR0PAQH/BAQDAgP4MBMGA1UdJQQMMAoGCCsGAQUFBwMC
MCkGA1UdDgQiBCDM1zCdaBQ84W5EIve0R4c00yBrR4QgY9e4UszVLt2YIzArBgNV
HSMEJDAigCCFG3Sq+j6WM+1hv2YtS/G/WV4L8HIRSO5MboPdKmf09DAKBggqhkjO
PQQDAgNIADBFAiEAtmjbdsdNXtPsA6+gPivQLhgHSJYpfdRMn0Q2kEsiz8QCIAgG
B63p2rpt2Y5rqmpdNQSc1lYBgeTCS0wyjmbHK/OQ
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIF6s7z/NBQpNkc/0AR9EO8lXbiss9grFecp6LJUBzhEXoAoGCCqGSM49
AwEHoUQDQgAEE9xAF0VzyGecog1kTtLxEcpuP3b+hHL+2aqkNJ0qHs4sFW7QzFYy
Dn4h88wFqtvqhmO8sk6hZzoiGlEcTaIfGg==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1 @@
322M4Eqtp4p62ekGFEuwGbaH7XVXvARn9r24qh16CM5L

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICeTCCAh6gAwIBAgIDCs/nMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMy5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmczLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgZExCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmczLmNoYWlubWFrZXIub3Jn
MQ8wDQYDVQQLEwZjbGllbnQxLDAqBgNVBAMTI2NsaWVudDEuc2lnbi53eC1vcmcz
LmNoYWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzVK19AkD
ysBX8uNzUw+OCFRo/O+XqJF5VjVxNZgc8ewdsKb56xNCdW8xnQmJxJuzVRVXWP0L
k2JfL6CcvV/i2qNqMGgwDgYDVR0PAQH/BAQDAgbAMCkGA1UdDgQiBCAGLCQTHiHV
DrgNgK/E7Ku3JrzlooPgU9NYbAcIyHiYfjArBgNVHSMEJDAigCCFG3Sq+j6WM+1h
v2YtS/G/WV4L8HIRSO5MboPdKmf09DAKBggqhkjOPQQDAgNJADBGAiEAtSNWiteo
uCcjeNxJHZajAVnjz7+T10mgnHZeSWEceI0CIQD7pX5QjKe3gRSSlV7DGI5pBBh9
gS1s1VgBWnO6vj5gpQ==
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIHawXs0c1DFmmOFZXP883a+DmHgvtnGNVR8kG6/qbDHVoAoGCCqGSM49
AwEHoUQDQgAEzVK19AkDysBX8uNzUw+OCFRo/O+XqJF5VjVxNZgc8ewdsKb56xNC
dW8xnQmJxJuzVRVXWP0Lk2JfL6CcvV/i2g==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICjDCCAjKgAwIBAgIDA2IdMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMy5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmczLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgZAxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmczLmNoYWlubWFrZXIub3Jn
MQ8wDQYDVQQLEwZjbGllbnQxKzApBgNVBAMTImNsaWVudDEudGxzLnd4LW9yZzMu
Y2hhaW5tYWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATPnkqp9riL
pw/f5UDn0NlVkxDFqTCEM4RWJQujO4wj7oYI3jDQgPz+oFL8gQQb6RX+WpvtcjxA
+nr3N7ao3Eu1o38wfTAOBgNVHQ8BAf8EBAMCA/gwEwYDVR0lBAwwCgYIKwYBBQUH
AwIwKQYDVR0OBCIEIJpACiZd3aSlGBRUYYanG6j/54NE8L6Dt25tjRM7kwAJMCsG
A1UdIwQkMCKAIIUbdKr6PpYz7WG/Zi1L8b9ZXgvwchFI7kxug90qZ/T0MAoGCCqG
SM49BAMCA0gAMEUCICk/5ZRNybuDIwyQq35RJo6NfZxyxSbXU70/0lD7ZODYAiEA
xSdet1OgcBKk1yRtoou7ac0Zr9bdwUDkh51Ss3RVdRw=
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIA40kYqshKIWq2qbfvpa4nriRhv1sZGgAj19QdgTrHJ3oAoGCCqGSM49
AwEHoUQDQgAEz55Kqfa4i6cP3+VA59DZVZMQxakwhDOEViULozuMI+6GCN4w0ID8
/qBS/IEEG+kV/lqb7XI8QPp69ze2qNxLtQ==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICdTCCAhygAwIBAgIDAtnbMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMy5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmczLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgY8xCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmczLmNoYWlubWFrZXIub3Jn
MQ4wDAYDVQQLEwVsaWdodDErMCkGA1UEAxMibGlnaHQxLnNpZ24ud3gtb3JnMy5j
aGFpbm1ha2VyLm9yZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABL5emdrPl6lV
9ImnXjRonOZrOUZypFxSPlezMngToCuCOW+tqvGNTcDNf3A7AoIQ6rkYDL0r/ZD9
FcLAXBstWzWjajBoMA4GA1UdDwEB/wQEAwIGwDApBgNVHQ4EIgQgPLOSKuqF4ujX
mZGj/gapWaqISVq5M+GyUPbGPrKL4O0wKwYDVR0jBCQwIoAghRt0qvo+ljPtYb9m
LUvxv1leC/ByEUjuTG6D3Spn9PQwCgYIKoZIzj0EAwIDRwAwRAIgTEA8dtovxz4p
V7Kc88kUfOMkTuirYx+QiDoMZYICv9kCIFMCGIOBFdzbsjmiKNLhv8TYEi7IscMS
s+hV/o7hK4fA
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIGQhGG6jsJN9qysBdpvuUsvokZ82iZ0g6G4cNKhQMOKQoAoGCCqGSM49
AwEHoUQDQgAEvl6Z2s+XqVX0iadeNGic5ms5RnKkXFI+V7MyeBOgK4I5b62q8Y1N
wM1/cDsCghDquRgMvSv9kP0VwsBcGy1bNQ==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICizCCAjCgAwIBAgIDDu1cMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnMy5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmczLmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgY4xCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmczLmNoYWlubWFrZXIub3Jn
MQ4wDAYDVQQLEwVsaWdodDEqMCgGA1UEAxMhbGlnaHQxLnRscy53eC1vcmczLmNo
YWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEtfRwIJLdLw8Q
jVcherp7DyO+60uB3MO4KTwWoiiUj3zMykW7H1ECAJ8SB8tyMBwSdSwyxlPqvdJ1
6Qn0SXLfGaN/MH0wDgYDVR0PAQH/BAQDAgP4MBMGA1UdJQQMMAoGCCsGAQUFBwMC
MCkGA1UdDgQiBCBiI3VUP5ZGy68Sb/CuvI5/V/QZ84/dAmJQz5mq06dYZDArBgNV
HSMEJDAigCCFG3Sq+j6WM+1hv2YtS/G/WV4L8HIRSO5MboPdKmf09DAKBggqhkjO
PQQDAgNJADBGAiEAimb661xgxlFYVVzAItsZkZUERq2rGil+Xi/S9yqbFIcCIQDd
xhPPRUB9nKGzvDYKik9csoLdKzi6oIc4Vn3dYjknaA==
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIGb4IZfv3gbbQrgx8iuva0EKYhBq8MrZFyfPIqPFGpUXoAoGCCqGSM49
AwEHoUQDQgAEtfRwIJLdLw8QjVcherp7DyO+60uB3MO4KTwWoiiUj3zMykW7H1EC
AJ8SB8tyMBwSdSwyxlPqvdJ16Qn0SXLfGQ==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,17 @@
-----BEGIN CERTIFICATE-----
MIICnjCCAkSgAwIBAgIDBia3MAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnNC5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmc0LmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTMy
MDYxMjEyNTU1N1owgYoxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmc0LmNoYWlubWFrZXIub3Jn
MRIwEAYDVQQLEwlyb290LWNlcnQxIjAgBgNVBAMTGWNhLnd4LW9yZzQuY2hhaW5t
YWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAR2FOjfydQrZs0GLC0i
JHfT42iuu5xSqndv61zTtcK8pc4pcpVWMn7diXpVHIQxCC79rbi8KGspYebk9yEc
QQJGo4GWMIGTMA4GA1UdDwEB/wQEAwIBBjAPBgNVHRMBAf8EBTADAQH/MCkGA1Ud
DgQiBCB3vI/aYS/TWLvnmnv1h/ceT+pnj48xVoU20ajaPl/f+DBFBgNVHREEPjA8
gg5jaGFpbm1ha2VyLm9yZ4IJbG9jYWxob3N0ghljYS53eC1vcmc0LmNoYWlubWFr
ZXIub3JnhwR/AAABMAoGCCqGSM49BAMCA0gAMEUCIQCFJq50byebGdwY5kvdpZZV
+M8jZUHDo9XzQ+Wi8euQCwIgQfUpmui1ZMGlnyu66iuTJHlu6RNXOhjUnsiJy1b0
N5o=
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIHoz+XblhdNrzV5osqw3EtaNydR6Eir/MzqNFNtOEwI/oAoGCCqGSM49
AwEHoUQDQgAEdhTo38nUK2bNBiwtIiR30+NorrucUqp3b+tc07XCvKXOKXKVVjJ+
3Yl6VRyEMQgu/a24vChrKWHm5PchHEECRg==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1 @@
QmXuaubESXZTQgJguqC4LSGMfb6SrpUnaa4jvMuQzpvqzd

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICeDCCAh6gAwIBAgIDBqF2MAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnNC5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmc0LmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgZExCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmc0LmNoYWlubWFrZXIub3Jn
MQ8wDQYDVQQLEwZjb21tb24xLDAqBgNVBAMTI2NvbW1vbjEuc2lnbi53eC1vcmc0
LmNoYWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEOgfbEP1v
ndfO9Jncyoicu2gJdKiJrKuW6LKM43JT08gI81zdf4foelD2Yxg6vf04j9ZavYb6
xj4N0vX0XoncoKNqMGgwDgYDVR0PAQH/BAQDAgbAMCkGA1UdDgQiBCBd9WO1pmbU
pF8OQ4WqY3jEG9d7oOx/EsrC9t6WXbQfwTArBgNVHSMEJDAigCB3vI/aYS/TWLvn
mnv1h/ceT+pnj48xVoU20ajaPl/f+DAKBggqhkjOPQQDAgNIADBFAiA/XL6O5bZf
G5TEcKKsF//ogZ5G+slh+kkDsVHrZp6csQIhALOxyYlqsx1fDshYoLQYFIrmK1Z4
GMN6uTtb6FPfwlIw
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEILLn5skqi1zJUfFewg6sXNBtGptMeHP7z6sG6q28xIcvoAoGCCqGSM49
AwEHoUQDQgAEOgfbEP1vndfO9Jncyoicu2gJdKiJrKuW6LKM43JT08gI81zdf4fo
elD2Yxg6vf04j9ZavYb6xj4N0vX0XoncoA==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,18 @@
-----BEGIN CERTIFICATE-----
MIIC6DCCAo6gAwIBAgIDCmjmMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnNC5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmc0LmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgZAxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmc0LmNoYWlubWFrZXIub3Jn
MQ8wDQYDVQQLEwZjb21tb24xKzApBgNVBAMTImNvbW1vbjEudGxzLnd4LW9yZzQu
Y2hhaW5tYWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAASI6NaKZiLk
L5NJHQWUvzoiumBSZAHoB6pE0rHu22sHgezdz/WjVDS2aXJWNuvcfZNqmbKMBNWe
DJ72uy0NfO9Fo4HaMIHXMA4GA1UdDwEB/wQEAwID+DAdBgNVHSUEFjAUBggrBgEF
BQcDAQYIKwYBBQUHAwIwKQYDVR0OBCIEIAdWYd3zTiJ/qb6mhmqkRMHyiSPUqiwW
QURMmzuH5fR2MCsGA1UdIwQkMCKAIHe8j9phL9NYu+eae/WH9x5P6mePjzFWhTbR
qNo+X9/4ME4GA1UdEQRHMEWCDmNoYWlubWFrZXIub3Jngglsb2NhbGhvc3SCImNv
bW1vbjEudGxzLnd4LW9yZzQuY2hhaW5tYWtlci5vcmeHBH8AAAEwCgYIKoZIzj0E
AwIDSAAwRQIgf9CMv8T+2xKNP28ABm3wQBbWlpeFmhKLUX1HjvcxZr4CIQCe4r63
MlUTQSlrNpOMeL1OIPtWOJYamAF4I0I2OsV7Ow==
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIAL3dcXulSMZwYu+9+8PEF0b8EyMkpLHlUGxIMoE8NZvoAoGCCqGSM49
AwEHoUQDQgAEiOjWimYi5C+TSR0FlL86IrpgUmQB6AeqRNKx7ttrB4Hs3c/1o1Q0
tmlyVjbr3H2TapmyjATVngye9rstDXzvRQ==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1 @@
Qmd9i7aUHg1KMqC6V2QHXQvrrjs497GVTLH5KxuMFB1RdF

View File

@ -0,0 +1,16 @@
-----BEGIN CERTIFICATE-----
MIICfzCCAiSgAwIBAgIDAODuMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnNC5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmc0LmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgZcxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmc0LmNoYWlubWFrZXIub3Jn
MRIwEAYDVQQLEwljb25zZW5zdXMxLzAtBgNVBAMTJmNvbnNlbnN1czEuc2lnbi53
eC1vcmc0LmNoYWlubWFrZXIub3JnMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE
QMT+tz4Cuy0k0XwU+UoS6uJRTWm/a+2N6MKmeTURJjn8q8jJugjACKOJIwPnReu7
P2Z3lOHumriB5YsUpl19HqNqMGgwDgYDVR0PAQH/BAQDAgbAMCkGA1UdDgQiBCAp
Z4cifG2ruSdTNXDlKwGDbrW//e+JgXtm7t8jmYpfLjArBgNVHSMEJDAigCB3vI/a
YS/TWLvnmnv1h/ceT+pnj48xVoU20ajaPl/f+DAKBggqhkjOPQQDAgNJADBGAiEA
pkvDz8RXCZgvW0+J3hrwtINr65q8FM/m2PWd1BeMemMCIQD2zDFWKKZHjbpMLa22
xIyyp0P7Ubkrmnpxo5DF7WxZTA==
-----END CERTIFICATE-----

View File

@ -0,0 +1,5 @@
-----BEGIN EC PRIVATE KEY-----
MHcCAQEEIHbvtgPOc0usNe8yUa4CS65UyvyYWYYzcPuo3l6i/aG+oAoGCCqGSM49
AwEHoUQDQgAEQMT+tz4Cuy0k0XwU+UoS6uJRTWm/a+2N6MKmeTURJjn8q8jJugjA
CKOJIwPnReu7P2Z3lOHumriB5YsUpl19Hg==
-----END EC PRIVATE KEY-----

View File

@ -0,0 +1,18 @@
-----BEGIN CERTIFICATE-----
MIIC8TCCApegAwIBAgIDCM7NMAoGCCqGSM49BAMCMIGKMQswCQYDVQQGEwJDTjEQ
MA4GA1UECBMHQmVpamluZzEQMA4GA1UEBxMHQmVpamluZzEfMB0GA1UEChMWd3gt
b3JnNC5jaGFpbm1ha2VyLm9yZzESMBAGA1UECxMJcm9vdC1jZXJ0MSIwIAYDVQQD
ExljYS53eC1vcmc0LmNoYWlubWFrZXIub3JnMB4XDTIyMDYxNTEyNTU1N1oXDTI3
MDYxNDEyNTU1N1owgZYxCzAJBgNVBAYTAkNOMRAwDgYDVQQIEwdCZWlqaW5nMRAw
DgYDVQQHEwdCZWlqaW5nMR8wHQYDVQQKExZ3eC1vcmc0LmNoYWlubWFrZXIub3Jn
MRIwEAYDVQQLEwljb25zZW5zdXMxLjAsBgNVBAMTJWNvbnNlbnN1czEudGxzLnd4
LW9yZzQuY2hhaW5tYWtlci5vcmcwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAQi
pV+s5abEc7AZB7VneV725x2JnG6MQ9QKpXb690xbdUcD1mmA+u290Umzw6EQTsOv
urVUCkqfKeTZkCkncPy5o4HdMIHaMA4GA1UdDwEB/wQEAwID+DAdBgNVHSUEFjAU
BggrBgEFBQcDAQYIKwYBBQUHAwIwKQYDVR0OBCIEIEBvDywPW47fEYTpv8g+wp/G
QOqOIcv2EKp5WWxeTN0OMCsGA1UdIwQkMCKAIHe8j9phL9NYu+eae/WH9x5P6meP
jzFWhTbRqNo+X9/4MFEGA1UdEQRKMEiCDmNoYWlubWFrZXIub3Jngglsb2NhbGhv
c3SCJWNvbnNlbnN1czEudGxzLnd4LW9yZzQuY2hhaW5tYWtlci5vcmeHBH8AAAEw
CgYIKoZIzj0EAwIDSAAwRQIhAMo4yhyOJ0wExx8jYwvhfkCiZTsBQ4Jsn1nC89Az
QsHZAiBMBTrWXSyUVdlbFoVfwO+zgyW+9wFXBUlc8tuJQ7c9Zw==
-----END CERTIFICATE-----

Some files were not shown because too many files have changed in this diff Show More