tencentcloud-sdk-drm 1.0.200
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/lib/VERSION +1 -0
- data/lib/tencentcloud-sdk-drm.rb +11 -0
- data/lib/v20181115/client.rb +259 -0
- data/lib/v20181115/models.rb +743 -0
- metadata +66 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 8bc860e99e5ad469e3fa630ab2406f0bd27ac45e
|
4
|
+
data.tar.gz: d8bba0030e3b2c7621e1e61a22c9343dbedf4aec
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: da79fc1ac2c98d0e46b4c12416f57e45129e6ab3b1a0d2cbf2f3a8591e2bf4b4af16c6ae2f9fa3dfc71c99d25f44c979415f1b85b9f29390fc140fd2a8a2953f
|
7
|
+
data.tar.gz: 7fbaa7e679605313d44983b01c580dd85b8446b259f6376ac3d7dfcba3289e9b66834d9e7379259f15b56d9d24431dbd18f462a661b8629394534c52ea1a5008
|
data/lib/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
1.0.200
|
@@ -0,0 +1,259 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
require 'json'
|
18
|
+
|
19
|
+
module TencentCloud
|
20
|
+
module Drm
|
21
|
+
module V20181115
|
22
|
+
class Client < TencentCloud::Common::AbstractClient
|
23
|
+
|
24
|
+
def initialize(credential, region, profile = nil)
|
25
|
+
api_version = '2018-11-15'
|
26
|
+
api_endpoint = 'drm.tencentcloudapi.com'
|
27
|
+
sdk_version = 'DRM_' + File.read(File.expand_path('../VERSION', __dir__)).strip
|
28
|
+
super(credential, region, api_version, api_endpoint, sdk_version, profile)
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
# 本接口用来设置fairplay方案所需的私钥、私钥密钥、ask等信息。
|
33
|
+
# 如需使用fairplay方案,请务必先设置私钥。
|
34
|
+
|
35
|
+
# @param request: Request instance for AddFairPlayPem.
|
36
|
+
# @type request: :class:`Tencentcloud::drm::V20181115::AddFairPlayPemRequest`
|
37
|
+
# @rtype: :class:`Tencentcloud::drm::V20181115::AddFairPlayPemResponse`
|
38
|
+
def AddFairPlayPem(request)
|
39
|
+
body = send_request('AddFairPlayPem', request.serialize)
|
40
|
+
response = JSON.parse(body)
|
41
|
+
if response['Response'].key?('Error') == false
|
42
|
+
model = AddFairPlayPemResponse.new
|
43
|
+
model.deserialize(response['Response'])
|
44
|
+
model
|
45
|
+
else
|
46
|
+
code = response['Response']['Error']['Code']
|
47
|
+
message = response['Response']['Error']['Message']
|
48
|
+
reqid = response['Response']['RequestId']
|
49
|
+
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
|
50
|
+
end
|
51
|
+
rescue TencentCloud::Common::TencentCloudSDKException => e
|
52
|
+
raise e
|
53
|
+
rescue StandardError => e
|
54
|
+
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
|
55
|
+
end
|
56
|
+
|
57
|
+
# 该接口用来设置加密的密钥。注意,同一个content id,只能设置一次!
|
58
|
+
|
59
|
+
# @param request: Request instance for CreateEncryptKeys.
|
60
|
+
# @type request: :class:`Tencentcloud::drm::V20181115::CreateEncryptKeysRequest`
|
61
|
+
# @rtype: :class:`Tencentcloud::drm::V20181115::CreateEncryptKeysResponse`
|
62
|
+
def CreateEncryptKeys(request)
|
63
|
+
body = send_request('CreateEncryptKeys', request.serialize)
|
64
|
+
response = JSON.parse(body)
|
65
|
+
if response['Response'].key?('Error') == false
|
66
|
+
model = CreateEncryptKeysResponse.new
|
67
|
+
model.deserialize(response['Response'])
|
68
|
+
model
|
69
|
+
else
|
70
|
+
code = response['Response']['Error']['Code']
|
71
|
+
message = response['Response']['Error']['Message']
|
72
|
+
reqid = response['Response']['RequestId']
|
73
|
+
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
|
74
|
+
end
|
75
|
+
rescue TencentCloud::Common::TencentCloudSDKException => e
|
76
|
+
raise e
|
77
|
+
rescue StandardError => e
|
78
|
+
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
|
79
|
+
end
|
80
|
+
|
81
|
+
# 本接口用来生成DRM方案对应的播放许可证,开发者需提供DRM方案类型、内容类型参数,后台将生成许可证后返回许可证数据
|
82
|
+
# 开发者需要转发终端设备发出的许可证请求信息。
|
83
|
+
|
84
|
+
# @param request: Request instance for CreateLicense.
|
85
|
+
# @type request: :class:`Tencentcloud::drm::V20181115::CreateLicenseRequest`
|
86
|
+
# @rtype: :class:`Tencentcloud::drm::V20181115::CreateLicenseResponse`
|
87
|
+
def CreateLicense(request)
|
88
|
+
body = send_request('CreateLicense', request.serialize)
|
89
|
+
response = JSON.parse(body)
|
90
|
+
if response['Response'].key?('Error') == false
|
91
|
+
model = CreateLicenseResponse.new
|
92
|
+
model.deserialize(response['Response'])
|
93
|
+
model
|
94
|
+
else
|
95
|
+
code = response['Response']['Error']['Code']
|
96
|
+
message = response['Response']['Error']['Message']
|
97
|
+
reqid = response['Response']['RequestId']
|
98
|
+
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
|
99
|
+
end
|
100
|
+
rescue TencentCloud::Common::TencentCloudSDKException => e
|
101
|
+
raise e
|
102
|
+
rescue StandardError => e
|
103
|
+
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
|
104
|
+
end
|
105
|
+
|
106
|
+
# 本接口用来删除fairplay方案的私钥、ask等信息
|
107
|
+
# 注:高风险操作,删除后,您将无法使用腾讯云DRM提供的fairplay服务。
|
108
|
+
# 由于缓存,删除操作需要约半小时生效
|
109
|
+
|
110
|
+
# @param request: Request instance for DeleteFairPlayPem.
|
111
|
+
# @type request: :class:`Tencentcloud::drm::V20181115::DeleteFairPlayPemRequest`
|
112
|
+
# @rtype: :class:`Tencentcloud::drm::V20181115::DeleteFairPlayPemResponse`
|
113
|
+
def DeleteFairPlayPem(request)
|
114
|
+
body = send_request('DeleteFairPlayPem', request.serialize)
|
115
|
+
response = JSON.parse(body)
|
116
|
+
if response['Response'].key?('Error') == false
|
117
|
+
model = DeleteFairPlayPemResponse.new
|
118
|
+
model.deserialize(response['Response'])
|
119
|
+
model
|
120
|
+
else
|
121
|
+
code = response['Response']['Error']['Code']
|
122
|
+
message = response['Response']['Error']['Message']
|
123
|
+
reqid = response['Response']['RequestId']
|
124
|
+
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
|
125
|
+
end
|
126
|
+
rescue TencentCloud::Common::TencentCloudSDKException => e
|
127
|
+
raise e
|
128
|
+
rescue StandardError => e
|
129
|
+
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
|
130
|
+
end
|
131
|
+
|
132
|
+
# 本接口用来查询指定DRM类型、ContentType的所有加密密钥
|
133
|
+
|
134
|
+
# @param request: Request instance for DescribeAllKeys.
|
135
|
+
# @type request: :class:`Tencentcloud::drm::V20181115::DescribeAllKeysRequest`
|
136
|
+
# @rtype: :class:`Tencentcloud::drm::V20181115::DescribeAllKeysResponse`
|
137
|
+
def DescribeAllKeys(request)
|
138
|
+
body = send_request('DescribeAllKeys', request.serialize)
|
139
|
+
response = JSON.parse(body)
|
140
|
+
if response['Response'].key?('Error') == false
|
141
|
+
model = DescribeAllKeysResponse.new
|
142
|
+
model.deserialize(response['Response'])
|
143
|
+
model
|
144
|
+
else
|
145
|
+
code = response['Response']['Error']['Code']
|
146
|
+
message = response['Response']['Error']['Message']
|
147
|
+
reqid = response['Response']['RequestId']
|
148
|
+
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
|
149
|
+
end
|
150
|
+
rescue TencentCloud::Common::TencentCloudSDKException => e
|
151
|
+
raise e
|
152
|
+
rescue StandardError => e
|
153
|
+
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
|
154
|
+
end
|
155
|
+
|
156
|
+
# 该接口用来查询设置的FairPlay私钥校验信息。可用该接口校验设置的私钥与本身的私钥是否一致。
|
157
|
+
|
158
|
+
# @param request: Request instance for DescribeFairPlayPem.
|
159
|
+
# @type request: :class:`Tencentcloud::drm::V20181115::DescribeFairPlayPemRequest`
|
160
|
+
# @rtype: :class:`Tencentcloud::drm::V20181115::DescribeFairPlayPemResponse`
|
161
|
+
def DescribeFairPlayPem(request)
|
162
|
+
body = send_request('DescribeFairPlayPem', request.serialize)
|
163
|
+
response = JSON.parse(body)
|
164
|
+
if response['Response'].key?('Error') == false
|
165
|
+
model = DescribeFairPlayPemResponse.new
|
166
|
+
model.deserialize(response['Response'])
|
167
|
+
model
|
168
|
+
else
|
169
|
+
code = response['Response']['Error']['Code']
|
170
|
+
message = response['Response']['Error']['Message']
|
171
|
+
reqid = response['Response']['RequestId']
|
172
|
+
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
|
173
|
+
end
|
174
|
+
rescue TencentCloud::Common::TencentCloudSDKException => e
|
175
|
+
raise e
|
176
|
+
rescue StandardError => e
|
177
|
+
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
|
178
|
+
end
|
179
|
+
|
180
|
+
# 开发者需要指定使用的DRM类型、和需要加密的Track类型,后台返回加密使用的密钥
|
181
|
+
# 如果加密使用的ContentID没有关联的密钥信息,后台会自动生成新的密钥返回
|
182
|
+
|
183
|
+
# @param request: Request instance for DescribeKeys.
|
184
|
+
# @type request: :class:`Tencentcloud::drm::V20181115::DescribeKeysRequest`
|
185
|
+
# @rtype: :class:`Tencentcloud::drm::V20181115::DescribeKeysResponse`
|
186
|
+
def DescribeKeys(request)
|
187
|
+
body = send_request('DescribeKeys', request.serialize)
|
188
|
+
response = JSON.parse(body)
|
189
|
+
if response['Response'].key?('Error') == false
|
190
|
+
model = DescribeKeysResponse.new
|
191
|
+
model.deserialize(response['Response'])
|
192
|
+
model
|
193
|
+
else
|
194
|
+
code = response['Response']['Error']['Code']
|
195
|
+
message = response['Response']['Error']['Message']
|
196
|
+
reqid = response['Response']['RequestId']
|
197
|
+
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
|
198
|
+
end
|
199
|
+
rescue TencentCloud::Common::TencentCloudSDKException => e
|
200
|
+
raise e
|
201
|
+
rescue StandardError => e
|
202
|
+
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
|
203
|
+
end
|
204
|
+
|
205
|
+
# 本接口用来设置fairplay方案所需的私钥、私钥密钥、ask等信息。
|
206
|
+
# 如需使用fairplay方案,请务必先设置私钥。
|
207
|
+
|
208
|
+
# @param request: Request instance for ModifyFairPlayPem.
|
209
|
+
# @type request: :class:`Tencentcloud::drm::V20181115::ModifyFairPlayPemRequest`
|
210
|
+
# @rtype: :class:`Tencentcloud::drm::V20181115::ModifyFairPlayPemResponse`
|
211
|
+
def ModifyFairPlayPem(request)
|
212
|
+
body = send_request('ModifyFairPlayPem', request.serialize)
|
213
|
+
response = JSON.parse(body)
|
214
|
+
if response['Response'].key?('Error') == false
|
215
|
+
model = ModifyFairPlayPemResponse.new
|
216
|
+
model.deserialize(response['Response'])
|
217
|
+
model
|
218
|
+
else
|
219
|
+
code = response['Response']['Error']['Code']
|
220
|
+
message = response['Response']['Error']['Message']
|
221
|
+
reqid = response['Response']['RequestId']
|
222
|
+
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
|
223
|
+
end
|
224
|
+
rescue TencentCloud::Common::TencentCloudSDKException => e
|
225
|
+
raise e
|
226
|
+
rescue StandardError => e
|
227
|
+
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
|
228
|
+
end
|
229
|
+
|
230
|
+
# 开发者调用该接口,启动一次内容文件的DRM加密工作流。
|
231
|
+
# 注意:该接口已下线。
|
232
|
+
|
233
|
+
# @param request: Request instance for StartEncryption.
|
234
|
+
# @type request: :class:`Tencentcloud::drm::V20181115::StartEncryptionRequest`
|
235
|
+
# @rtype: :class:`Tencentcloud::drm::V20181115::StartEncryptionResponse`
|
236
|
+
def StartEncryption(request)
|
237
|
+
body = send_request('StartEncryption', request.serialize)
|
238
|
+
response = JSON.parse(body)
|
239
|
+
if response['Response'].key?('Error') == false
|
240
|
+
model = StartEncryptionResponse.new
|
241
|
+
model.deserialize(response['Response'])
|
242
|
+
model
|
243
|
+
else
|
244
|
+
code = response['Response']['Error']['Code']
|
245
|
+
message = response['Response']['Error']['Message']
|
246
|
+
reqid = response['Response']['RequestId']
|
247
|
+
raise TencentCloud::Common::TencentCloudSDKException.new(code, message, reqid)
|
248
|
+
end
|
249
|
+
rescue TencentCloud::Common::TencentCloudSDKException => e
|
250
|
+
raise e
|
251
|
+
rescue StandardError => e
|
252
|
+
raise TencentCloud::Common::TencentCloudSDKException.new(nil, e.inspect)
|
253
|
+
end
|
254
|
+
|
255
|
+
|
256
|
+
end
|
257
|
+
end
|
258
|
+
end
|
259
|
+
end
|
@@ -0,0 +1,743 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright (c) 2017-2018 THL A29 Limited, a Tencent company. All Rights Reserved.
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
module TencentCloud
|
18
|
+
module Drm
|
19
|
+
module V20181115
|
20
|
+
# AddFairPlayPem请求参数结构体
|
21
|
+
class AddFairPlayPemRequest < TencentCloud::Common::AbstractModel
|
22
|
+
# @param Pem: 加密后的fairplay方案申请时使用的私钥。
|
23
|
+
# 请使用腾讯云DRM 提供的公钥,使用rsa加密算法,PKCS1填充方式对私钥文件中的字段进行加密,并对加密结果进行base64编码。
|
24
|
+
# @type Pem: String
|
25
|
+
# @param Ask: 加密后的fairplay方案申请返回的ask数据。
|
26
|
+
# 请使用腾讯云DRM 提供的公钥,使用rsa加密算法,PKCS1填充方式对Ask字符串进行加密,并对加密结果进行base64编码。
|
27
|
+
# @type Ask: String
|
28
|
+
# @param PemDecryptKey: 私钥的解密密钥。
|
29
|
+
# openssl在生成rsa时,可能会需要设置加密密钥,请记住设置的密钥。
|
30
|
+
# 请使用腾讯云DRM 提供的公钥,使用rsa加密算法,PKCS1填充方式对解密密钥进行加密,并对加密结果进行base64编码。
|
31
|
+
# @type PemDecryptKey: String
|
32
|
+
# @param BailorId: 委托者Id,适用于托管自身证书的客户。普通客户无需填该字段。
|
33
|
+
# @type BailorId: Integer
|
34
|
+
# @param Priority: 私钥的优先级,优先级数值越高,优先级越高。
|
35
|
+
# 该值可以不传,后台将自动分配一个优先级。
|
36
|
+
# @type Priority: Integer
|
37
|
+
|
38
|
+
attr_accessor :Pem, :Ask, :PemDecryptKey, :BailorId, :Priority
|
39
|
+
|
40
|
+
def initialize(pem=nil, ask=nil, pemdecryptkey=nil, bailorid=nil, priority=nil)
|
41
|
+
@Pem = pem
|
42
|
+
@Ask = ask
|
43
|
+
@PemDecryptKey = pemdecryptkey
|
44
|
+
@BailorId = bailorid
|
45
|
+
@Priority = priority
|
46
|
+
end
|
47
|
+
|
48
|
+
def deserialize(params)
|
49
|
+
@Pem = params['Pem']
|
50
|
+
@Ask = params['Ask']
|
51
|
+
@PemDecryptKey = params['PemDecryptKey']
|
52
|
+
@BailorId = params['BailorId']
|
53
|
+
@Priority = params['Priority']
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
# AddFairPlayPem返回参数结构体
|
58
|
+
class AddFairPlayPemResponse < TencentCloud::Common::AbstractModel
|
59
|
+
# @param FairPlayPemId: 设置私钥后,后台返回的pem id,用来唯一标识一个私钥。
|
60
|
+
# 注意:此字段可能返回 null,表示取不到有效值。
|
61
|
+
# @type FairPlayPemId: Integer
|
62
|
+
# @param Priority: 私钥的优先级,优先级数值越高,优先级越高。
|
63
|
+
# 注意:此字段可能返回 null,表示取不到有效值。
|
64
|
+
# @type Priority: Integer
|
65
|
+
# @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
|
66
|
+
# @type RequestId: String
|
67
|
+
|
68
|
+
attr_accessor :FairPlayPemId, :Priority, :RequestId
|
69
|
+
|
70
|
+
def initialize(fairplaypemid=nil, priority=nil, requestid=nil)
|
71
|
+
@FairPlayPemId = fairplaypemid
|
72
|
+
@Priority = priority
|
73
|
+
@RequestId = requestid
|
74
|
+
end
|
75
|
+
|
76
|
+
def deserialize(params)
|
77
|
+
@FairPlayPemId = params['FairPlayPemId']
|
78
|
+
@Priority = params['Priority']
|
79
|
+
@RequestId = params['RequestId']
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
# CreateEncryptKeys请求参数结构体
|
84
|
+
class CreateEncryptKeysRequest < TencentCloud::Common::AbstractModel
|
85
|
+
# @param DrmType: 使用的DRM方案类型,接口取值WIDEVINE、FAIRPLAY、NORMALAES。
|
86
|
+
# @type DrmType: String
|
87
|
+
# @param Keys: 设置的加密密钥列表。
|
88
|
+
# @type Keys: Array
|
89
|
+
# @param ContentId: 一个加密内容的唯一标识。
|
90
|
+
# @type ContentId: String
|
91
|
+
# @param ContentType: 内容类型。接口取值VodVideo,LiveVideo。
|
92
|
+
# @type ContentType: String
|
93
|
+
|
94
|
+
attr_accessor :DrmType, :Keys, :ContentId, :ContentType
|
95
|
+
|
96
|
+
def initialize(drmtype=nil, keys=nil, contentid=nil, contenttype=nil)
|
97
|
+
@DrmType = drmtype
|
98
|
+
@Keys = keys
|
99
|
+
@ContentId = contentid
|
100
|
+
@ContentType = contenttype
|
101
|
+
end
|
102
|
+
|
103
|
+
def deserialize(params)
|
104
|
+
@DrmType = params['DrmType']
|
105
|
+
unless params['Keys'].nil?
|
106
|
+
@Keys = []
|
107
|
+
params['Keys'].each do |i|
|
108
|
+
keyparam_tmp = KeyParam.new
|
109
|
+
keyparam_tmp.deserialize(i)
|
110
|
+
@Keys << keyparam_tmp
|
111
|
+
end
|
112
|
+
end
|
113
|
+
@ContentId = params['ContentId']
|
114
|
+
@ContentType = params['ContentType']
|
115
|
+
end
|
116
|
+
end
|
117
|
+
|
118
|
+
# CreateEncryptKeys返回参数结构体
|
119
|
+
class CreateEncryptKeysResponse < TencentCloud::Common::AbstractModel
|
120
|
+
# @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
|
121
|
+
# @type RequestId: String
|
122
|
+
|
123
|
+
attr_accessor :RequestId
|
124
|
+
|
125
|
+
def initialize(requestid=nil)
|
126
|
+
@RequestId = requestid
|
127
|
+
end
|
128
|
+
|
129
|
+
def deserialize(params)
|
130
|
+
@RequestId = params['RequestId']
|
131
|
+
end
|
132
|
+
end
|
133
|
+
|
134
|
+
# CreateLicense请求参数结构体
|
135
|
+
class CreateLicenseRequest < TencentCloud::Common::AbstractModel
|
136
|
+
# @param DrmType: DRM方案类型,接口取值:WIDEVINE,FAIRPLAY。
|
137
|
+
# @type DrmType: String
|
138
|
+
# @param LicenseRequest: Base64编码的终端设备License Request数据。
|
139
|
+
# @type LicenseRequest: String
|
140
|
+
# @param ContentType: 内容类型,接口取值:VodVideo,LiveVideo。
|
141
|
+
# @type ContentType: String
|
142
|
+
# @param Tracks: 授权播放的Track列表。
|
143
|
+
# 该值为空时,默认授权所有track播放。
|
144
|
+
# @type Tracks: Array
|
145
|
+
# @param PlaybackPolicy: 播放策略参数。
|
146
|
+
# @type PlaybackPolicy: :class:`Tencentcloud::Drm.v20181115.models.PlaybackPolicy`
|
147
|
+
|
148
|
+
attr_accessor :DrmType, :LicenseRequest, :ContentType, :Tracks, :PlaybackPolicy
|
149
|
+
|
150
|
+
def initialize(drmtype=nil, licenserequest=nil, contenttype=nil, tracks=nil, playbackpolicy=nil)
|
151
|
+
@DrmType = drmtype
|
152
|
+
@LicenseRequest = licenserequest
|
153
|
+
@ContentType = contenttype
|
154
|
+
@Tracks = tracks
|
155
|
+
@PlaybackPolicy = playbackpolicy
|
156
|
+
end
|
157
|
+
|
158
|
+
def deserialize(params)
|
159
|
+
@DrmType = params['DrmType']
|
160
|
+
@LicenseRequest = params['LicenseRequest']
|
161
|
+
@ContentType = params['ContentType']
|
162
|
+
@Tracks = params['Tracks']
|
163
|
+
unless params['PlaybackPolicy'].nil?
|
164
|
+
@PlaybackPolicy = PlaybackPolicy.new
|
165
|
+
@PlaybackPolicy.deserialize(params['PlaybackPolicy'])
|
166
|
+
end
|
167
|
+
end
|
168
|
+
end
|
169
|
+
|
170
|
+
# CreateLicense返回参数结构体
|
171
|
+
class CreateLicenseResponse < TencentCloud::Common::AbstractModel
|
172
|
+
# @param License: Base64 编码的许可证二进制数据。
|
173
|
+
# @type License: String
|
174
|
+
# @param ContentId: 加密内容的内容ID
|
175
|
+
# @type ContentId: String
|
176
|
+
# @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
|
177
|
+
# @type RequestId: String
|
178
|
+
|
179
|
+
attr_accessor :License, :ContentId, :RequestId
|
180
|
+
|
181
|
+
def initialize(license=nil, contentid=nil, requestid=nil)
|
182
|
+
@License = license
|
183
|
+
@ContentId = contentid
|
184
|
+
@RequestId = requestid
|
185
|
+
end
|
186
|
+
|
187
|
+
def deserialize(params)
|
188
|
+
@License = params['License']
|
189
|
+
@ContentId = params['ContentId']
|
190
|
+
@RequestId = params['RequestId']
|
191
|
+
end
|
192
|
+
end
|
193
|
+
|
194
|
+
# DeleteFairPlayPem请求参数结构体
|
195
|
+
class DeleteFairPlayPemRequest < TencentCloud::Common::AbstractModel
|
196
|
+
# @param BailorId: 委托者Id,适用于托管自身证书的客户。普通客户无需填该字段。
|
197
|
+
# @type BailorId: Integer
|
198
|
+
# @param FairPlayPemId: 要删除的pem id。
|
199
|
+
# 当未传入该值时,将删除所有的私钥。
|
200
|
+
# @type FairPlayPemId: Integer
|
201
|
+
|
202
|
+
attr_accessor :BailorId, :FairPlayPemId
|
203
|
+
|
204
|
+
def initialize(bailorid=nil, fairplaypemid=nil)
|
205
|
+
@BailorId = bailorid
|
206
|
+
@FairPlayPemId = fairplaypemid
|
207
|
+
end
|
208
|
+
|
209
|
+
def deserialize(params)
|
210
|
+
@BailorId = params['BailorId']
|
211
|
+
@FairPlayPemId = params['FairPlayPemId']
|
212
|
+
end
|
213
|
+
end
|
214
|
+
|
215
|
+
# DeleteFairPlayPem返回参数结构体
|
216
|
+
class DeleteFairPlayPemResponse < TencentCloud::Common::AbstractModel
|
217
|
+
# @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
|
218
|
+
# @type RequestId: String
|
219
|
+
|
220
|
+
attr_accessor :RequestId
|
221
|
+
|
222
|
+
def initialize(requestid=nil)
|
223
|
+
@RequestId = requestid
|
224
|
+
end
|
225
|
+
|
226
|
+
def deserialize(params)
|
227
|
+
@RequestId = params['RequestId']
|
228
|
+
end
|
229
|
+
end
|
230
|
+
|
231
|
+
# DescribeAllKeys请求参数结构体
|
232
|
+
class DescribeAllKeysRequest < TencentCloud::Common::AbstractModel
|
233
|
+
# @param DrmType: 使用的DRM方案类型,接口取值WIDEVINE、FAIRPLAY、NORMALAES。
|
234
|
+
# @type DrmType: String
|
235
|
+
# @param RsaPublicKey: Base64编码的Rsa公钥,用来加密出参中的SessionKey。
|
236
|
+
# 如果该参数为空,则出参中SessionKey为明文。
|
237
|
+
# @type RsaPublicKey: String
|
238
|
+
# @param ContentId: 一个加密内容的唯一标识。
|
239
|
+
# @type ContentId: String
|
240
|
+
# @param ContentType: 内容类型。接口取值VodVideo,LiveVideo。
|
241
|
+
# @type ContentType: String
|
242
|
+
|
243
|
+
attr_accessor :DrmType, :RsaPublicKey, :ContentId, :ContentType
|
244
|
+
|
245
|
+
def initialize(drmtype=nil, rsapublickey=nil, contentid=nil, contenttype=nil)
|
246
|
+
@DrmType = drmtype
|
247
|
+
@RsaPublicKey = rsapublickey
|
248
|
+
@ContentId = contentid
|
249
|
+
@ContentType = contenttype
|
250
|
+
end
|
251
|
+
|
252
|
+
def deserialize(params)
|
253
|
+
@DrmType = params['DrmType']
|
254
|
+
@RsaPublicKey = params['RsaPublicKey']
|
255
|
+
@ContentId = params['ContentId']
|
256
|
+
@ContentType = params['ContentType']
|
257
|
+
end
|
258
|
+
end
|
259
|
+
|
260
|
+
# DescribeAllKeys返回参数结构体
|
261
|
+
class DescribeAllKeysResponse < TencentCloud::Common::AbstractModel
|
262
|
+
# @param Keys: 加密密钥列表。
|
263
|
+
# 注意:此字段可能返回 null,表示取不到有效值。
|
264
|
+
# @type Keys: Array
|
265
|
+
# @param SessionKey: 用来加密密钥。
|
266
|
+
# 如果入参中带有RsaPublicKey,则SessionKey为使用Rsa公钥加密后的二进制数据,Base64编码字符串。
|
267
|
+
# 如果入参中没有RsaPublicKey,则SessionKey为原始数据的字符串形式。
|
268
|
+
# 注意:此字段可能返回 null,表示取不到有效值。
|
269
|
+
# @type SessionKey: String
|
270
|
+
# @param ContentId: 内容ID
|
271
|
+
# 注意:此字段可能返回 null,表示取不到有效值。
|
272
|
+
# @type ContentId: String
|
273
|
+
# @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
|
274
|
+
# @type RequestId: String
|
275
|
+
|
276
|
+
attr_accessor :Keys, :SessionKey, :ContentId, :RequestId
|
277
|
+
|
278
|
+
def initialize(keys=nil, sessionkey=nil, contentid=nil, requestid=nil)
|
279
|
+
@Keys = keys
|
280
|
+
@SessionKey = sessionkey
|
281
|
+
@ContentId = contentid
|
282
|
+
@RequestId = requestid
|
283
|
+
end
|
284
|
+
|
285
|
+
def deserialize(params)
|
286
|
+
unless params['Keys'].nil?
|
287
|
+
@Keys = []
|
288
|
+
params['Keys'].each do |i|
|
289
|
+
key_tmp = Key.new
|
290
|
+
key_tmp.deserialize(i)
|
291
|
+
@Keys << key_tmp
|
292
|
+
end
|
293
|
+
end
|
294
|
+
@SessionKey = params['SessionKey']
|
295
|
+
@ContentId = params['ContentId']
|
296
|
+
@RequestId = params['RequestId']
|
297
|
+
end
|
298
|
+
end
|
299
|
+
|
300
|
+
# DescribeFairPlayPem请求参数结构体
|
301
|
+
class DescribeFairPlayPemRequest < TencentCloud::Common::AbstractModel
|
302
|
+
# @param BailorId: 委托者Id,适用于托管自身证书的客户。普通客户无需填该字段。
|
303
|
+
# @type BailorId: Integer
|
304
|
+
# @param FairPlayPemId: 需要查询的pem id。
|
305
|
+
# 当该值未填入时,将返回所有的私钥信息。
|
306
|
+
# @type FairPlayPemId: Integer
|
307
|
+
|
308
|
+
attr_accessor :BailorId, :FairPlayPemId
|
309
|
+
|
310
|
+
def initialize(bailorid=nil, fairplaypemid=nil)
|
311
|
+
@BailorId = bailorid
|
312
|
+
@FairPlayPemId = fairplaypemid
|
313
|
+
end
|
314
|
+
|
315
|
+
def deserialize(params)
|
316
|
+
@BailorId = params['BailorId']
|
317
|
+
@FairPlayPemId = params['FairPlayPemId']
|
318
|
+
end
|
319
|
+
end
|
320
|
+
|
321
|
+
# DescribeFairPlayPem返回参数结构体
|
322
|
+
class DescribeFairPlayPemResponse < TencentCloud::Common::AbstractModel
|
323
|
+
# @param FairPlayPems: 该账户下,所有设置的FairPlay私钥摘要信息
|
324
|
+
# 注意:此字段可能返回 null,表示取不到有效值。
|
325
|
+
# @type FairPlayPems: Array
|
326
|
+
# @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
|
327
|
+
# @type RequestId: String
|
328
|
+
|
329
|
+
attr_accessor :FairPlayPems, :RequestId
|
330
|
+
|
331
|
+
def initialize(fairplaypems=nil, requestid=nil)
|
332
|
+
@FairPlayPems = fairplaypems
|
333
|
+
@RequestId = requestid
|
334
|
+
end
|
335
|
+
|
336
|
+
def deserialize(params)
|
337
|
+
unless params['FairPlayPems'].nil?
|
338
|
+
@FairPlayPems = []
|
339
|
+
params['FairPlayPems'].each do |i|
|
340
|
+
fairplaypemdigestinfo_tmp = FairPlayPemDigestInfo.new
|
341
|
+
fairplaypemdigestinfo_tmp.deserialize(i)
|
342
|
+
@FairPlayPems << fairplaypemdigestinfo_tmp
|
343
|
+
end
|
344
|
+
end
|
345
|
+
@RequestId = params['RequestId']
|
346
|
+
end
|
347
|
+
end
|
348
|
+
|
349
|
+
# DescribeKeys请求参数结构体
|
350
|
+
class DescribeKeysRequest < TencentCloud::Common::AbstractModel
|
351
|
+
# @param DrmType: 使用的DRM方案类型,接口取值WIDEVINE、FAIRPLAY、NORMALAES。
|
352
|
+
# @type DrmType: String
|
353
|
+
# @param Tracks: 加密的track列表,接口取值VIDEO、AUDIO。
|
354
|
+
# @type Tracks: Array
|
355
|
+
# @param ContentType: 内容类型。接口取值VodVideo,LiveVideo
|
356
|
+
# @type ContentType: String
|
357
|
+
# @param RsaPublicKey: Base64编码的Rsa公钥,用来加密出参中的SessionKey。
|
358
|
+
# 如果该参数为空,则出参中SessionKey为明文。
|
359
|
+
# @type RsaPublicKey: String
|
360
|
+
# @param ContentId: 一个加密内容的唯一标识。
|
361
|
+
# 如果该参数为空,则后台自动生成
|
362
|
+
# @type ContentId: String
|
363
|
+
|
364
|
+
attr_accessor :DrmType, :Tracks, :ContentType, :RsaPublicKey, :ContentId
|
365
|
+
|
366
|
+
def initialize(drmtype=nil, tracks=nil, contenttype=nil, rsapublickey=nil, contentid=nil)
|
367
|
+
@DrmType = drmtype
|
368
|
+
@Tracks = tracks
|
369
|
+
@ContentType = contenttype
|
370
|
+
@RsaPublicKey = rsapublickey
|
371
|
+
@ContentId = contentid
|
372
|
+
end
|
373
|
+
|
374
|
+
def deserialize(params)
|
375
|
+
@DrmType = params['DrmType']
|
376
|
+
@Tracks = params['Tracks']
|
377
|
+
@ContentType = params['ContentType']
|
378
|
+
@RsaPublicKey = params['RsaPublicKey']
|
379
|
+
@ContentId = params['ContentId']
|
380
|
+
end
|
381
|
+
end
|
382
|
+
|
383
|
+
# DescribeKeys返回参数结构体
|
384
|
+
class DescribeKeysResponse < TencentCloud::Common::AbstractModel
|
385
|
+
# @param Keys: 加密密钥列表
|
386
|
+
# @type Keys: Array
|
387
|
+
# @param SessionKey: 用来加密密钥。
|
388
|
+
# 如果入参中带有RsaPublicKey,则SessionKey为使用Rsa公钥加密后的二进制数据,Base64编码字符串。
|
389
|
+
# 如果入参中没有RsaPublicKey,则SessionKey为原始数据的字符串形式。
|
390
|
+
# @type SessionKey: String
|
391
|
+
# @param ContentId: 内容ID
|
392
|
+
# @type ContentId: String
|
393
|
+
# @param Pssh: Widevine方案的Pssh数据,Base64编码。
|
394
|
+
# Fairplay方案无该值。
|
395
|
+
# @type Pssh: String
|
396
|
+
# @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
|
397
|
+
# @type RequestId: String
|
398
|
+
|
399
|
+
attr_accessor :Keys, :SessionKey, :ContentId, :Pssh, :RequestId
|
400
|
+
|
401
|
+
def initialize(keys=nil, sessionkey=nil, contentid=nil, pssh=nil, requestid=nil)
|
402
|
+
@Keys = keys
|
403
|
+
@SessionKey = sessionkey
|
404
|
+
@ContentId = contentid
|
405
|
+
@Pssh = pssh
|
406
|
+
@RequestId = requestid
|
407
|
+
end
|
408
|
+
|
409
|
+
def deserialize(params)
|
410
|
+
unless params['Keys'].nil?
|
411
|
+
@Keys = []
|
412
|
+
params['Keys'].each do |i|
|
413
|
+
key_tmp = Key.new
|
414
|
+
key_tmp.deserialize(i)
|
415
|
+
@Keys << key_tmp
|
416
|
+
end
|
417
|
+
end
|
418
|
+
@SessionKey = params['SessionKey']
|
419
|
+
@ContentId = params['ContentId']
|
420
|
+
@Pssh = params['Pssh']
|
421
|
+
@RequestId = params['RequestId']
|
422
|
+
end
|
423
|
+
end
|
424
|
+
|
425
|
+
# DRM加密后的输出对象
|
426
|
+
class DrmOutputObject < TencentCloud::Common::AbstractModel
|
427
|
+
# @param BucketName: 输出的桶名称。
|
428
|
+
# @type BucketName: String
|
429
|
+
# @param ObjectName: 输出的对象名称。
|
430
|
+
# @type ObjectName: String
|
431
|
+
# @param Para: 输出对象参数。
|
432
|
+
# @type Para: :class:`Tencentcloud::Drm.v20181115.models.DrmOutputPara`
|
433
|
+
|
434
|
+
attr_accessor :BucketName, :ObjectName, :Para
|
435
|
+
|
436
|
+
def initialize(bucketname=nil, objectname=nil, para=nil)
|
437
|
+
@BucketName = bucketname
|
438
|
+
@ObjectName = objectname
|
439
|
+
@Para = para
|
440
|
+
end
|
441
|
+
|
442
|
+
def deserialize(params)
|
443
|
+
@BucketName = params['BucketName']
|
444
|
+
@ObjectName = params['ObjectName']
|
445
|
+
unless params['Para'].nil?
|
446
|
+
@Para = DrmOutputPara.new
|
447
|
+
@Para.deserialize(params['Para'])
|
448
|
+
end
|
449
|
+
end
|
450
|
+
end
|
451
|
+
|
452
|
+
# Drm加密对象输出参数
|
453
|
+
class DrmOutputPara < TencentCloud::Common::AbstractModel
|
454
|
+
# @param Type: 内容类型。例:video,audio,mpd,m3u8
|
455
|
+
# @type Type: String
|
456
|
+
# @param Language: 语言,例: en, zh-cn
|
457
|
+
# @type Language: String
|
458
|
+
|
459
|
+
attr_accessor :Type, :Language
|
460
|
+
|
461
|
+
def initialize(type=nil, language=nil)
|
462
|
+
@Type = type
|
463
|
+
@Language = language
|
464
|
+
end
|
465
|
+
|
466
|
+
def deserialize(params)
|
467
|
+
@Type = params['Type']
|
468
|
+
@Language = params['Language']
|
469
|
+
end
|
470
|
+
end
|
471
|
+
|
472
|
+
# 用于DRM加密的源对象
|
473
|
+
class DrmSourceObject < TencentCloud::Common::AbstractModel
|
474
|
+
# @param BucketName: 输入的桶名称。
|
475
|
+
# @type BucketName: String
|
476
|
+
# @param ObjectName: 输入对象名称。
|
477
|
+
# @type ObjectName: String
|
478
|
+
|
479
|
+
attr_accessor :BucketName, :ObjectName
|
480
|
+
|
481
|
+
def initialize(bucketname=nil, objectname=nil)
|
482
|
+
@BucketName = bucketname
|
483
|
+
@ObjectName = objectname
|
484
|
+
end
|
485
|
+
|
486
|
+
def deserialize(params)
|
487
|
+
@BucketName = params['BucketName']
|
488
|
+
@ObjectName = params['ObjectName']
|
489
|
+
end
|
490
|
+
end
|
491
|
+
|
492
|
+
# FairPlay 私钥摘要信息。
|
493
|
+
class FairPlayPemDigestInfo < TencentCloud::Common::AbstractModel
|
494
|
+
# @param FairPlayPemId: fairplay 私钥pem id。
|
495
|
+
# 注意:此字段可能返回 null,表示取不到有效值。
|
496
|
+
# @type FairPlayPemId: Integer
|
497
|
+
# @param Priority: 私钥的优先级。
|
498
|
+
# 注意:此字段可能返回 null,表示取不到有效值。
|
499
|
+
# @type Priority: Integer
|
500
|
+
# @param Md5Pem: 私钥的md5 信息。
|
501
|
+
# 注意:此字段可能返回 null,表示取不到有效值。
|
502
|
+
# @type Md5Pem: String
|
503
|
+
# @param Md5Ask: ASK的md5信息。
|
504
|
+
# 注意:此字段可能返回 null,表示取不到有效值。
|
505
|
+
# @type Md5Ask: String
|
506
|
+
# @param Md5PemDecryptKey: 私钥解密密钥的md5值。
|
507
|
+
# 注意:此字段可能返回 null,表示取不到有效值。
|
508
|
+
# @type Md5PemDecryptKey: String
|
509
|
+
|
510
|
+
attr_accessor :FairPlayPemId, :Priority, :Md5Pem, :Md5Ask, :Md5PemDecryptKey
|
511
|
+
|
512
|
+
def initialize(fairplaypemid=nil, priority=nil, md5pem=nil, md5ask=nil, md5pemdecryptkey=nil)
|
513
|
+
@FairPlayPemId = fairplaypemid
|
514
|
+
@Priority = priority
|
515
|
+
@Md5Pem = md5pem
|
516
|
+
@Md5Ask = md5ask
|
517
|
+
@Md5PemDecryptKey = md5pemdecryptkey
|
518
|
+
end
|
519
|
+
|
520
|
+
def deserialize(params)
|
521
|
+
@FairPlayPemId = params['FairPlayPemId']
|
522
|
+
@Priority = params['Priority']
|
523
|
+
@Md5Pem = params['Md5Pem']
|
524
|
+
@Md5Ask = params['Md5Ask']
|
525
|
+
@Md5PemDecryptKey = params['Md5PemDecryptKey']
|
526
|
+
end
|
527
|
+
end
|
528
|
+
|
529
|
+
# DRM加密密钥
|
530
|
+
class Key < TencentCloud::Common::AbstractModel
|
531
|
+
# @param Track: 加密track类型。Widevine支持SD、HD、UHD1、UHD2、AUDIO。Fairplay只支持HD。
|
532
|
+
# @type Track: String
|
533
|
+
# @param KeyId: 密钥ID。
|
534
|
+
# @type KeyId: String
|
535
|
+
# @param Key: 原始Key使用AES-128 ECB模式和SessionKey加密的后的二进制数据,Base64编码的字符串。
|
536
|
+
# @type Key: String
|
537
|
+
# @param Iv: 原始IV使用AES-128 ECB模式和SessionKey加密的后的二进制数据,Base64编码的字符串。
|
538
|
+
# @type Iv: String
|
539
|
+
# @param InsertTimestamp: 该key生成时的时间戳
|
540
|
+
# 注意:此字段可能返回 null,表示取不到有效值。
|
541
|
+
# @type InsertTimestamp: Integer
|
542
|
+
|
543
|
+
attr_accessor :Track, :KeyId, :Key, :Iv, :InsertTimestamp
|
544
|
+
|
545
|
+
def initialize(track=nil, keyid=nil, key=nil, iv=nil, inserttimestamp=nil)
|
546
|
+
@Track = track
|
547
|
+
@KeyId = keyid
|
548
|
+
@Key = key
|
549
|
+
@Iv = iv
|
550
|
+
@InsertTimestamp = inserttimestamp
|
551
|
+
end
|
552
|
+
|
553
|
+
def deserialize(params)
|
554
|
+
@Track = params['Track']
|
555
|
+
@KeyId = params['KeyId']
|
556
|
+
@Key = params['Key']
|
557
|
+
@Iv = params['Iv']
|
558
|
+
@InsertTimestamp = params['InsertTimestamp']
|
559
|
+
end
|
560
|
+
end
|
561
|
+
|
562
|
+
# 设置加密密钥所需的参数
|
563
|
+
class KeyParam < TencentCloud::Common::AbstractModel
|
564
|
+
# @param Track: 加密track类型。取值范围:
|
565
|
+
# SD、HD、UHD1、UHD2、AUDIO
|
566
|
+
# @type Track: String
|
567
|
+
# @param Key: 请使用腾讯云DRM 提供的公钥,使用rsa加密算法,PKCS1填充方式对解密密钥进行加密,并对加密结果进行base64编码。
|
568
|
+
# @type Key: String
|
569
|
+
# @param KeyId: 密钥ID。
|
570
|
+
# @type KeyId: String
|
571
|
+
# @param Iv: 请使用腾讯云DRM 提供的公钥,使用rsa加密算法,PKCS1填充方式对解密密钥进行加密,并对加密结果进行base64编码。
|
572
|
+
# @type Iv: String
|
573
|
+
|
574
|
+
attr_accessor :Track, :Key, :KeyId, :Iv
|
575
|
+
|
576
|
+
def initialize(track=nil, key=nil, keyid=nil, iv=nil)
|
577
|
+
@Track = track
|
578
|
+
@Key = key
|
579
|
+
@KeyId = keyid
|
580
|
+
@Iv = iv
|
581
|
+
end
|
582
|
+
|
583
|
+
def deserialize(params)
|
584
|
+
@Track = params['Track']
|
585
|
+
@Key = params['Key']
|
586
|
+
@KeyId = params['KeyId']
|
587
|
+
@Iv = params['Iv']
|
588
|
+
end
|
589
|
+
end
|
590
|
+
|
591
|
+
# ModifyFairPlayPem请求参数结构体
|
592
|
+
class ModifyFairPlayPemRequest < TencentCloud::Common::AbstractModel
|
593
|
+
# @param Pem: 加密后的fairplay方案申请时使用的私钥。
|
594
|
+
# 请使用腾讯云DRM 提供的公钥,使用rsa加密算法,PKCS1填充方式对私钥文件中的字段进行加密,并对加密结果进行base64编码。
|
595
|
+
# @type Pem: String
|
596
|
+
# @param Ask: 加密后的fairplay方案申请返回的ask数据。
|
597
|
+
# 请使用腾讯云DRM 提供的公钥,使用rsa加密算法,PKCS1填充方式对Ask字符串进行加密,并对加密结果进行base64编码。
|
598
|
+
# @type Ask: String
|
599
|
+
# @param FairPlayPemId: 要修改的私钥id
|
600
|
+
# @type FairPlayPemId: Integer
|
601
|
+
# @param PemDecryptKey: 私钥的解密密钥。
|
602
|
+
# openssl在生成rsa时,可能会需要设置加密密钥,请记住设置的密钥。
|
603
|
+
# 请使用腾讯云DRM 提供的公钥,使用rsa加密算法,PKCS1填充方式对解密密钥进行加密,并对加密结果进行base64编码。
|
604
|
+
# @type PemDecryptKey: String
|
605
|
+
# @param BailorId: 委托者Id,适用于托管自身证书的客户。普通客户无需填该字段。
|
606
|
+
# @type BailorId: Integer
|
607
|
+
# @param Priority: 私钥的优先级,优先级数值越高,优先级越高。
|
608
|
+
# 该值可以不传,后台将自动分配一个优先级。
|
609
|
+
# @type Priority: Integer
|
610
|
+
|
611
|
+
attr_accessor :Pem, :Ask, :FairPlayPemId, :PemDecryptKey, :BailorId, :Priority
|
612
|
+
|
613
|
+
def initialize(pem=nil, ask=nil, fairplaypemid=nil, pemdecryptkey=nil, bailorid=nil, priority=nil)
|
614
|
+
@Pem = pem
|
615
|
+
@Ask = ask
|
616
|
+
@FairPlayPemId = fairplaypemid
|
617
|
+
@PemDecryptKey = pemdecryptkey
|
618
|
+
@BailorId = bailorid
|
619
|
+
@Priority = priority
|
620
|
+
end
|
621
|
+
|
622
|
+
def deserialize(params)
|
623
|
+
@Pem = params['Pem']
|
624
|
+
@Ask = params['Ask']
|
625
|
+
@FairPlayPemId = params['FairPlayPemId']
|
626
|
+
@PemDecryptKey = params['PemDecryptKey']
|
627
|
+
@BailorId = params['BailorId']
|
628
|
+
@Priority = params['Priority']
|
629
|
+
end
|
630
|
+
end
|
631
|
+
|
632
|
+
# ModifyFairPlayPem返回参数结构体
|
633
|
+
class ModifyFairPlayPemResponse < TencentCloud::Common::AbstractModel
|
634
|
+
# @param FairPlayPemId: 设置私钥后,后台返回的pem id,用来唯一标识一个私钥。
|
635
|
+
# 注意:此字段可能返回 null,表示取不到有效值。
|
636
|
+
# @type FairPlayPemId: Integer
|
637
|
+
# @param Priority: 私钥的优先级,优先级数值越高,优先级越高。
|
638
|
+
# 注意:此字段可能返回 null,表示取不到有效值。
|
639
|
+
# @type Priority: Integer
|
640
|
+
# @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
|
641
|
+
# @type RequestId: String
|
642
|
+
|
643
|
+
attr_accessor :FairPlayPemId, :Priority, :RequestId
|
644
|
+
|
645
|
+
def initialize(fairplaypemid=nil, priority=nil, requestid=nil)
|
646
|
+
@FairPlayPemId = fairplaypemid
|
647
|
+
@Priority = priority
|
648
|
+
@RequestId = requestid
|
649
|
+
end
|
650
|
+
|
651
|
+
def deserialize(params)
|
652
|
+
@FairPlayPemId = params['FairPlayPemId']
|
653
|
+
@Priority = params['Priority']
|
654
|
+
@RequestId = params['RequestId']
|
655
|
+
end
|
656
|
+
end
|
657
|
+
|
658
|
+
# 播放控制参数
|
659
|
+
class PlaybackPolicy < TencentCloud::Common::AbstractModel
|
660
|
+
# @param LicenseDurationSeconds: 播放许可证的有效期
|
661
|
+
# @type LicenseDurationSeconds: Integer
|
662
|
+
# @param PlaybackDurationSeconds: 开始播放后,允许最长播放时间
|
663
|
+
# @type PlaybackDurationSeconds: Integer
|
664
|
+
|
665
|
+
attr_accessor :LicenseDurationSeconds, :PlaybackDurationSeconds
|
666
|
+
|
667
|
+
def initialize(licensedurationseconds=nil, playbackdurationseconds=nil)
|
668
|
+
@LicenseDurationSeconds = licensedurationseconds
|
669
|
+
@PlaybackDurationSeconds = playbackdurationseconds
|
670
|
+
end
|
671
|
+
|
672
|
+
def deserialize(params)
|
673
|
+
@LicenseDurationSeconds = params['LicenseDurationSeconds']
|
674
|
+
@PlaybackDurationSeconds = params['PlaybackDurationSeconds']
|
675
|
+
end
|
676
|
+
end
|
677
|
+
|
678
|
+
# StartEncryption请求参数结构体
|
679
|
+
class StartEncryptionRequest < TencentCloud::Common::AbstractModel
|
680
|
+
# @param CosEndPoint: cos的end point。
|
681
|
+
# @type CosEndPoint: String
|
682
|
+
# @param CosSecretId: cos api密钥id。
|
683
|
+
# @type CosSecretId: String
|
684
|
+
# @param CosSecretKey: cos api密钥。
|
685
|
+
# @type CosSecretKey: String
|
686
|
+
# @param DrmType: 使用的DRM方案类型,接口取值WIDEVINE,FAIRPLAY
|
687
|
+
# @type DrmType: String
|
688
|
+
# @param SourceObject: 存储在COS上的原始内容信息
|
689
|
+
# @type SourceObject: :class:`Tencentcloud::Drm.v20181115.models.DrmSourceObject`
|
690
|
+
# @param OutputObjects: 加密后的内容存储到COS的对象
|
691
|
+
# @type OutputObjects: Array
|
692
|
+
|
693
|
+
attr_accessor :CosEndPoint, :CosSecretId, :CosSecretKey, :DrmType, :SourceObject, :OutputObjects
|
694
|
+
|
695
|
+
def initialize(cosendpoint=nil, cossecretid=nil, cossecretkey=nil, drmtype=nil, sourceobject=nil, outputobjects=nil)
|
696
|
+
@CosEndPoint = cosendpoint
|
697
|
+
@CosSecretId = cossecretid
|
698
|
+
@CosSecretKey = cossecretkey
|
699
|
+
@DrmType = drmtype
|
700
|
+
@SourceObject = sourceobject
|
701
|
+
@OutputObjects = outputobjects
|
702
|
+
end
|
703
|
+
|
704
|
+
def deserialize(params)
|
705
|
+
@CosEndPoint = params['CosEndPoint']
|
706
|
+
@CosSecretId = params['CosSecretId']
|
707
|
+
@CosSecretKey = params['CosSecretKey']
|
708
|
+
@DrmType = params['DrmType']
|
709
|
+
unless params['SourceObject'].nil?
|
710
|
+
@SourceObject = DrmSourceObject.new
|
711
|
+
@SourceObject.deserialize(params['SourceObject'])
|
712
|
+
end
|
713
|
+
unless params['OutputObjects'].nil?
|
714
|
+
@OutputObjects = []
|
715
|
+
params['OutputObjects'].each do |i|
|
716
|
+
drmoutputobject_tmp = DrmOutputObject.new
|
717
|
+
drmoutputobject_tmp.deserialize(i)
|
718
|
+
@OutputObjects << drmoutputobject_tmp
|
719
|
+
end
|
720
|
+
end
|
721
|
+
end
|
722
|
+
end
|
723
|
+
|
724
|
+
# StartEncryption返回参数结构体
|
725
|
+
class StartEncryptionResponse < TencentCloud::Common::AbstractModel
|
726
|
+
# @param RequestId: 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
|
727
|
+
# @type RequestId: String
|
728
|
+
|
729
|
+
attr_accessor :RequestId
|
730
|
+
|
731
|
+
def initialize(requestid=nil)
|
732
|
+
@RequestId = requestid
|
733
|
+
end
|
734
|
+
|
735
|
+
def deserialize(params)
|
736
|
+
@RequestId = params['RequestId']
|
737
|
+
end
|
738
|
+
end
|
739
|
+
|
740
|
+
end
|
741
|
+
end
|
742
|
+
end
|
743
|
+
|
metadata
ADDED
@@ -0,0 +1,66 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: tencentcloud-sdk-drm
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.200
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Tencent Cloud
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2021-11-11 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: tencentcloud-sdk-common
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.0'
|
27
|
+
description: Tencent Cloud Ruby SDK is the official software development kit, which
|
28
|
+
allows Ruby developers to write software that makes use of Tencent Cloud service
|
29
|
+
DRM.
|
30
|
+
email:
|
31
|
+
- tencentcloudapi@tencent.com
|
32
|
+
executables: []
|
33
|
+
extensions: []
|
34
|
+
extra_rdoc_files: []
|
35
|
+
files:
|
36
|
+
- lib/VERSION
|
37
|
+
- lib/tencentcloud-sdk-drm.rb
|
38
|
+
- lib/v20181115/client.rb
|
39
|
+
- lib/v20181115/models.rb
|
40
|
+
homepage: https://github.com/TencentCloud/tencentcloud-sdk-ruby
|
41
|
+
licenses:
|
42
|
+
- Apache-2.0
|
43
|
+
metadata:
|
44
|
+
source_code_uri: https://github.com/TencentCloud/tencentcloud-sdk-ruby/tencentcloud-sdk-drm
|
45
|
+
changelog_uri: https://github.com/TencentCloud/tencentcloud-sdk-ruby/blob/master/CHANGELOG.md
|
46
|
+
post_install_message:
|
47
|
+
rdoc_options: []
|
48
|
+
require_paths:
|
49
|
+
- lib
|
50
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - ">="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '0'
|
60
|
+
requirements: []
|
61
|
+
rubyforge_project:
|
62
|
+
rubygems_version: 2.6.14
|
63
|
+
signing_key:
|
64
|
+
specification_version: 4
|
65
|
+
summary: Tencent Cloud SDK for Ruby - DRM
|
66
|
+
test_files: []
|