anquanssl

package module
v0.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 23, 2024 License: MIT Imports: 13 Imported by: 0

README

AnquanSSL

AnquanSSL, aka "Security SSL", also known as "安全 SSL" in Mandarin, founded in 2018, and our mission is providing affordable, secure, and enhanced TLS utilization experiences in the Greater China market.

这是 安全SSL 开放API的 Golang SDK.

获取 AccessKey 秘钥对.

此SDK包仅面向开发者提供支持,若您是分销商,您可能需要:

如果您要其它编程语言的开发者,您可能需要

安装

go install https://github.com/anquanssl/golang-sdk

使用

package main

import (
    "fmt"
    "math/rand"
    "time"

    anquanssl "github.com/anquanssl/golang-sdk"
    request "github.com/anquanssl/golang-sdk/request"
    resource "github.com/anquanssl/golang-sdk/resource"
)

func main() {
    var resp map[string]interface{}
    fmt.Println("=======")

    accessKeyID := ""
    accessKeySecrte := ""

    client := anquanssl.NewClient(accessKeyID, accessKeySecrte, "")

    product := resource.NewProduct(client)
    resp, _ = product.ProductList()
    fmt.Println("productList:", resp)
    fmt.Printf("\n")

    order := resource.NewOrder(client)

    certificateCreateRequest := request.CertificateCreateRequest{}
    certificateCreateRequest.ProductID = "sslcom_dv_flex"
    certificateCreateRequest.Period = "annually"
    certificateCreateRequest.CSR = `-----BEGIN CERTIFICATE REQUEST-----
MIICsTCCAZkCAQAwQjELMAkGA1UEBhMCQ04xDTALBgNVBAgTBHRlc3QxDTALBgNV
BAcTBHRlc3QxFTATBgNVBAMMDCouZG9tYWluLmNvbTCCASIwDQYJKoZIhvcNAQEB
BQADggEPADCCAQoCggEBAKvgoSs6HahR2RACS2j+hjMtcCUKMWW0kpB96JM3ITEp
OdmkbsuFJfRMavycNvwbvk21D/gq32YJ76Tp1zNEZh79bU/6gwMITYzjMdpguUj5
481cxJIFj/uCnTXdRBOT4ZhsO9oyf42HAnGbo7ZWIbzkQpOeKio9ytAR3JHmeyj5
eVnIfs7rE0poeGR27Kbq74um4dFMj1C8GvkXud6AFqFTJX+xQmWloZeROGfzK+bE
D4rW6olqxkR82cYYQRW1lpk5WHXlYwICiAVhPg4fcQY2RhOxQDIOY5Rio3+oRX/k
QttRNyOPmQAp2J8Pp48IEJg1W5QG7fFo2iCmIVY1SH8CAwEAAaAqMCgGCSqGSIb3
DQEJDjEbMBkwFwYDVR0RBBAwDoIMKi5kb21haW4uY29tMA0GCSqGSIb3DQEBCwUA
A4IBAQAAQq87dAn0YsAkpfvmQSZUov27Qp3M/8JluLv0ykDp4aIuB7uFcU2cgzuK
Zqn7DtrLnjsGmaiiEvsOje+6YH6Skcn/kACGDFg3PT3+Zd/Ar0SZsBZVSzAaI7t0
bc1hsIW0PtbDIAUmwcJEWzCxBlHtANWhnmEexbubAEzbM9BPLYN/s7JluOFDxftP
lXp2j+c5/l8E0huwqnGgSnG/g75zRM4sDjKHmWYMapVaHtFzYktn5fklJxCIOmkY
d+ZnVcZEq5UjeEgUG9P0WguwvwZe0szM8ae+cMxJ/mDcrt/g7ammTD80XfQImYij
aKJmfyDcygIdCZ6uk87LmN0UF4rd
-----END CERTIFICATE REQUEST-----`

    // generate random
    rand.Seed(time.Now().UnixNano())
    var letters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ")
    b := make([]rune, 10)
    for i := range b {
        b[i] = letters[rand.Intn(len(letters))]
    }
    UniqueID := string(b)

    certificateCreateRequest.UniqueID = UniqueID
    certificateCreateRequest.ContactEmail = "email@example.org"
    certificateCreateRequest.ContactName = "~"
    certificateCreateRequest.DomainDCV = make(map[string]string)
    certificateCreateRequest.DomainDCV["*.domain.com"] = "dns"
    certificateCreateRequest.DomainDCV["domain.com"] = "dns"
    certificateCreateRequest.DomainDCV["*.domain2.com"] = "dns"
    certificateCreateRequest.DomainDCV["domain2.com"] = "dns"
    certificateCreateRequest.NotifyURL = "https://my-callback.app/notify-url"

    resp, _ = order.CertificateCreate(certificateCreateRequest)

    // get `service_id` from map `resp`
    serviceID := resp["data"].(map[string]interface{})["service_id"].(string)
    fmt.Printf("certificateCreate serviceID := ", serviceID)
    fmt.Printf("\n")

    certificateDetailRequest := request.CertificateDetailRequest{}
    certificateDetailRequest.ServiceID = serviceID
    resp, _ = order.CertificateDetail(certificateDetailRequest)
    fmt.Println("certificateDetailRequest:", resp)
    fmt.Printf("\n")

    certificateValidateDCVRequest := request.CertificateValidateDCVRequest{}
    certificateValidateDCVRequest.ServiceID = serviceID
    resp, _ = order.CertificateValidateDCV(certificateValidateDCVRequest)
    fmt.Println("certificateValidDCV:", resp)
    fmt.Printf("\n")

    certificateRefundRequest := request.CertificateRefundRequest{}
    certificateRefundRequest.ServiceID = serviceID
    resp, _ = order.CertificateRefund(certificateRefundRequest)
    fmt.Println("certificateRefund:", resp)
    fmt.Printf("\n")
}

贡献

特别鸣谢以下工程师对本项目的贡献:

@jellnicy

Documentation

Index

Constants

View Source
const ORIGIN_API = "https://api.orion.pki.plus/api/v1"

Variables

This section is empty.

Functions

This section is empty.

Types

type Client

type Client struct {
	AccessKeyID     string
	AccessKeySecret string
	APIOrigin       string
}

func NewClient

func NewClient(accessKeyID string, accessKeySecret string, apiOrigin string) *Client

func (*Client) Get

func (c *Client) Get(uri string, query map[string]string, body map[string]interface{}) (map[string]interface{}, error)

func (*Client) Post

func (c *Client) Post(uri string, query map[string]string, body map[string]interface{}) (map[string]interface{}, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL