代码示例
以下代码展示如何使用SCM SDK获取调用相关的接口:
Copied!
import (
coreBasic "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
scm "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/scm/v3"
scmModel "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/scm/v3/model"
scmRegion "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/scm/v3/region"
"fmt"
"os"
)
var ACCESS_KEY = os.Getenv("HUAWEICLOUD_SDK_AK")
var SECRET_ACCESS_KEY = os.Getenv("HUAWEICLOUD_SDK_SK")
func main() {
certName := `<CertName>`
certificate := `<CertContent>`
certificateChain := `<CertChain>`
privateKey := `<PrivateKey>`
certOperations(certName, certificate, certificateChain, privateKey)
}
func certOperations(certName string , certificate string , certificateChain string , privateKey string ) {
var auth coreBasic.Credentials = coreBasic.NewCredentialsBuilder().WithAk(ACCESS_KEY).WithSk(SECRET_ACCESS_KEY).Build()
scmClient := *scm.NewScmClient(scm.ScmClientBuilder().WithCredential(auth).WithRegion(scmRegion.CN_NORTH_4).Build())
importCertificateRequestBodyParam := scmModel.ImportCertificateRequestBody{Certificate: certificate, Name: certName, CertificateChain: certificateChain, PrivateKey: privateKey}
importCertificateRequest := scmModel.ImportCertificateRequest{Body: &importCertificateRequestBodyParam}
importCertificateResponse, err := scmClient.ImportCertificate(&importCertificateRequest)
if err != nil {
fmt.Println(err)
return
}
certId := *importCertificateResponse.CertificateId
listCertificatesRequest := scmModel.ListCertificatesRequest{}
listKeypairTaskResponse, err := scmClient.ListCertificates(&listCertificatesRequest)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(listKeypairTaskResponse)
showCertificateRequest := scmModel.ShowCertificateRequest{CertificateId: certId}
showCertificateResponse, err := scmClient.ShowCertificate(&showCertificateRequest)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(showCertificateResponse)
}
您可以在API Explorer中直接运行调试该接口。
版本说明
本示例配套的SDK版本为:3.0.58
SSL证书管理服务中接口调用相关示例
本示例展示如何通过SCM SDK方式进行接口调用
功能介绍
SSL证书管理(SSL Certificate Manager,SCM)是一个SSL(Secure Sockets Layer)证书管理平台,平台联合全球知名数字证书服务机构为用户提供购买SSL证书的功能,用户也可以将本地的外部SSL证书上传到平台,实现用户对内部和外部SSL证书的统一管理。
前置条件
1.已 注册 华为云,并完成 实名认证 。
2.已获取华为云开发工具包(SDK)。
3.已获取华为云账号对应的Access Key(AK)和Secret Access Key(SK)。请在华为云控制台“我的凭证 > 访问密钥”页面上创建和查看您的AK/SK。具体请参见 访问密钥 。
4.已具备开发环境 ,支持go 1.14及以上版本。
代码示例
以下代码展示如何使用SCM SDK获取调用相关的接口:
import ( coreBasic "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" scm "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/scm/v3" scmModel "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/scm/v3/model" scmRegion "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/scm/v3/region" "fmt" "os" ) // 认证用的ak和sk硬编码到代码中或者明文存储都有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全; // 本示例以ak和sk保存在环境变量中来实现身份验证为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。 var ACCESS_KEY = os.Getenv("HUAWEICLOUD_SDK_AK") var SECRET_ACCESS_KEY = os.Getenv("HUAWEICLOUD_SDK_SK") func main() { certName := `<CertName>` certificate := `<CertContent>` certificateChain := `<CertChain>` privateKey := `<PrivateKey>` certOperations(certName, certificate, certificateChain, privateKey) } func certOperations(certName string , certificate string , certificateChain string , privateKey string ) { var auth coreBasic.Credentials = coreBasic.NewCredentialsBuilder().WithAk(ACCESS_KEY).WithSk(SECRET_ACCESS_KEY).Build() scmClient := *scm.NewScmClient(scm.ScmClientBuilder().WithCredential(auth).WithRegion(scmRegion.CN_NORTH_4).Build()) importCertificateRequestBodyParam := scmModel.ImportCertificateRequestBody{Certificate: certificate, Name: certName, CertificateChain: certificateChain, PrivateKey: privateKey} importCertificateRequest := scmModel.ImportCertificateRequest{Body: &importCertificateRequestBodyParam} importCertificateResponse, err := scmClient.ImportCertificate(&importCertificateRequest) if err != nil { fmt.Println(err) return } certId := *importCertificateResponse.CertificateId listCertificatesRequest := scmModel.ListCertificatesRequest{} listKeypairTaskResponse, err := scmClient.ListCertificates(&listCertificatesRequest) if err != nil { fmt.Println(err) return } fmt.Println(listKeypairTaskResponse) showCertificateRequest := scmModel.ShowCertificateRequest{CertificateId: certId} showCertificateResponse, err := scmClient.ShowCertificate(&showCertificateRequest) if err != nil { fmt.Println(err) return } fmt.Println(showCertificateResponse) }
您可以在API Explorer中直接运行调试该接口。
修订记录