패키지 | flash.net.drm |
클래스 | public class DRMManager |
상속 | DRMManager EventDispatcher Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.5, Flash Player 10.1 |
DRMManager.getDRMManager()
메서드의 경우 기존 DRMManager 객체에 액세스하여 다음과 같은 DRM 관리 작업을 수행할 수 있습니다.
- DRMContentData 객체를 사용하여 미디어 권한 서버에서 인증서를 미리 로드합니다.
- DRMContentData 객체를 사용하여 개별 인증서의 로컬 캐시를 쿼리합니다.
- 모든 인증서를 재설정합니다(AIR에만 해당).
로컬 캐시의 모든 바우처를 열거하는 메서드는 제공되지 않습니다.
DRMManager 클래스의 인스턴스를 만들지 마십시오. 정적 DRMManager.getDRMManager()
를 사용하여 기존 DRMManager 객체에 액세스할 수 있습니다.
AIR 프로파일 지원: 이 기능은 모든 데스크톱 운영 체제 및 AIR for TV 장치에서는 지원되지만 휴대 장치에서는 지원되지 않습니다. DRMManager.isSupported
속성을 사용하여 런타임에 지원을 테스트할 수 있습니다. 여러 프로파일 간 API 지원에 대한 자세한 내용은 AIR 프로파일 지원을 참조하십시오.
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
isSupported : Boolean [정적] [읽기 전용]
현재 플랫폼에서 DRMManager 클래스가 지원되면 isSupported 속성이 true로 설정되고, 그렇지 않으면 false로 설정됩니다. | DRMManager | ||
networkIdleTimeout : Number [정적] | DRMManager |
메서드 | 정의 주체 | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
리스너에서 이벤트 알림을 받을 수 있도록 EventDispatcher 객체에 이벤트 리스너 객체를 등록합니다. | EventDispatcher | ||
현재 실행 중인 장치를 장치 그룹에 추가합니다. | DRMManager | ||
사용자를 인증합니다. | DRMManager | ||
이벤트를 이벤트 흐름으로 전달합니다. | EventDispatcher | ||
[정적]
단일 DRMManager 객체의 인스턴스를 반환합니다. | DRMManager | ||
EventDispatcher 객체에 특정 유형의 이벤트에 대한 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher | ||
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
사용자가 특정 컴퓨터에서 내용을 재생할 수 있는지 확인하도록 허용하기 위해 사용할 수 있는 미리 보기 증명서를 라이센스 서버에서 가져옵니다. | DRMManager | ||
미디어 권한 서버 또는 로컬 바우처 캐시에서 바우처를 로드합니다. | DRMManager | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
EventDispatcher 객체에서 리스너를 제거합니다. | EventDispatcher | ||
현재 실행 중인 장치를 장치 그룹에서 제거합니다. | DRMManager | ||
AIR 응용 프로그램에서는 로컬에서 캐시된 모든 DRM(디지털 권한 관리) 바우처 데이터가 삭제됩니다. | DRMManager | ||
지정된 모든 조건에 일치하는 모든 바우처를 라이센스 서버에 반환합니다. | DRMManager | ||
지정된 서버 및 도메인과 통신하는 데 사용할 인증 토큰을 설정합니다. | DRMManager | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
DRMManager | |||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object | ||
이 EventDispatcher 객체 또는 조상 객체에 지정한 이벤트 유형에 대한 이벤트 리스너가 등록되어 있는지 여부를 확인합니다. | EventDispatcher |
이벤트 | 요약 | 정의 주체 | ||
---|---|---|---|---|
[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 얻어 활성화될 때 전달됩니다. | EventDispatcher | |||
authenticate() 메서드를 호출한 후에 미디어 권한 서버에서 사용자가 인증될 때 DRMManager가 DRMAuthenticationCompleteEvent 객체를 전달합니다. | DRMManager | |||
authenticate() 메서드를 호출한 후에 미디어 권한 서버에서 사용자가 인증되지 않을 때 DRMManager가 DRMAuthenticationErrorEvent 객체를 전달합니다. | DRMManager | |||
[브로드캐스트 이벤트] Flash Player 또는 AIR 응용 프로그램이 운영 체제 포커스를 잃고 비활성화될 때 전달됩니다. | EventDispatcher | |||
미디어 권한 서버에서 요청한 바우처를 얻을 수 없을 때 DRMManager가 DRMErrorEvent 객체를 전달합니다. | DRMManager | |||
미디어 권한 서버에서 요청한 바우처를 얻을 때 DRMManager가 DRMStatusEvent 객체를 전달합니다. | DRMManager |
isSupported | 속성 |
networkIdleTimeout | 속성 |
addToDeviceGroup | () | 메서드 |
public function addToDeviceGroup(deviceGroup:DRMDeviceGroup, forceRefresh:Boolean = false):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 3.0, Flash Player 11.9 |
현재 실행 중인 장치를 장치 그룹에 추가합니다.
매개 변수
deviceGroup:DRMDeviceGroup | |
forceRefresh:Boolean (default = false )
|
authenticate | () | 메서드 |
public function authenticate(serverURL:String, domain:String, username:String, password:String):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.5, Flash Player 10.1 |
사용자를 인증합니다.
authenticationComplete
및 authenticationError
이벤트를 수신하여 인증 시도의 결과를 확인합니다. 여러 authenticate()
호출이 대기열에 있습니다. authenticationComplete
이벤트에 대해 전달되는 AuthenticationCompleteEvent 객체에는 응용 프로그램에서 저장할 수 있는 인증 토큰이 포함되어 있습니다.
저장된 인증 토큰이나 다른 방법으로 다운로드한 토큰을 사용하여 이후에 미디어 권한 서버와의 인증된 세션을 설정할 수 있습니다. 토큰을 사용하여 세션을 설정하려면 DRMManager setAuthenticationToken()
메서드를 호출합니다. 만료일과 같은 토큰 속성은 해당 토큰을 생성하는 서버의 설정에 의해 결정됩니다.
중요(AIR에만 해당): 사용자의 인터넷 연결이 인증을 필요로 하는 프록시 서버를 통과하는 경우 authenticate()
메서드가 실패합니다. 이러한 사용자는 인증을 필요로 하는 DRM 인증서를 미리 로드할 수 없지만 응용 프로그램에서는 재생을 시작하고 NetStream setAuthenticationCredentials()
메서드를 통해 사용자를 프록시 서버와 미디어 권한 서버 모두에 로그인시켜 인증서를 가져올 수 있습니다. 바우처를 가져오면 바우처에 표시된 사용권에서 오프라인 재생을 허용하는 한 사용자는 내용을 오프라인으로 볼 수 있습니다.
매개 변수
serverURL:String — 보호된 내용을 보기 위한 바우처를 제공할 수 있는 미디어 권한 서버의 URL입니다.
| |
domain:String — 네트워크 또는 인터넷 도메인 이름이 아니라 서버의 도메인입니다.
| |
username:String — 사용자 이름
| |
password:String — 사용자 암호
|
관련 API 요소
getDRMManager | () | 메서드 |
public static function getDRMManager():DRMManager
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.5, Flash Player 10.1 |
단일 DRMManager 객체의 인스턴스를 반환합니다.
보안 도메인마다 하나의 DRMManager 인스턴스가 있습니다.
반환값DRMManager |
관련 API 요소
loadPreviewVoucher | () | 메서드 |
public function loadPreviewVoucher(contentData:DRMContentData):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 2, Flash Player 10.1 |
사용자가 특정 컴퓨터에서 내용을 재생할 수 있는지 확인하도록 허용하기 위해 사용할 수 있는 미리 보기 증명서를 라이센스 서버에서 가져옵니다. 이 기능을 사용하면 사용자가 내용을 구입하고 다운로드하기 전에 자신의 컴퓨터에서 내용을 재생할 수 있는지를 확인할 수 있습니다. 이 기능은 사용자의 컴퓨터에 필요한 출력 보호 기능이나, 내용을 재생하는 데 필요한 소프트웨어가 없는 경우 유용합니다.
loadVoucher()
와 같이, 이 메서드는 비동기적 호출이며, 완료 시에는 DRMStatusEvent를 생성하고 오류 발생 시에는 DRMErrorEvent를 생성합니다.
매개 변수
contentData:DRMContentData |
loadVoucher | () | 메서드 |
public function loadVoucher(contentData:DRMContentData, setting:String):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.5, Flash Player 10.1 |
미디어 권한 서버 또는 로컬 바우처 캐시에서 바우처를 로드합니다.
바우처는 setting
매개 변수에 따라 로드됩니다.
- LoadVoucherSetting.FORCE_REFRESH: 인증서가 항상 미디어 권한 서버에서 다운로드됩니다.
- LoadVoucherSetting.LOCAL_ONLY: 바우처가 로컬 캐시에서만 로드됩니다.
- LoadVoucherSetting.ALLOW_SERVER: 가능한 경우 인증서가 로컬 캐시에서 로드되지만 그렇지 않은 경우에는 서버에서 다운로드됩니다.
LoadVoucherSetting 클래스는 setting
매개 변수의 값으로 사용할 문자열 상수를 정의합니다.
바우처가 성공적으로 로드되면 DRMManager는 DRM 상태 이벤트를 전달합니다. 바우처가 로드되면 응용 프로그램에서 바로 재생을 시작할 수 있습니다. 로드된 바우처는 전달된 DRMStatusEvent 객체의 voucher
속성에서 사용할 수 있습니다. 이 바우처 객체를 사용하면 연결된 미디어 권한 정보를 사용자에게 표시할 수 있습니다.
미디어 권한 서버에서 인증서를 로드할 수 없는 경우에는 DRM 오류 이벤트가 전달됩니다. 전달된 DRMErrorEvent 객체의 errorID
속성은 실패 이유를 나타냅니다. 대부분의 경우에는 사용자가 오프라인일 때 미디어 권한 서버에 대한 연결을 시도하거나 사용자가 로그인하지 않았을 때 인증서를 로드하려고 시도하는 경우에 실패합니다. 응용 프로그램에서는 이러한 오류에 응답하고 수정 작업을 수행할 수 있습니다. 예를 들어 바우처를 다운로드하는 데 인증 자격 증명이 필요한 경우 사용자에게 계정 사용자 이름 및 암호를 입력하라는 메시지를 표시하고 DRMManager authenticate()
메서드를 호출한 다음 바우처 로드 작업을 다시 시도할 수 있습니다.
로컬 캐시에서 인증서를 가져올 수 없고 localOnly
설정이 사용되는 경우에는 DRMErrorEvent가 전달되지 않습니다. 대신 DRM 상태 이벤트가 전달됩니다. 이 DRMStatusEvent 객체의 detail
속성은 여전히 DRM.voucherObtained
이지만 voucher
속성이 null
입니다.
매개 변수
contentData:DRMContentData — DRM으로 보호된 미디어 파일의 DRMContentData 객체입니다.
| |
setting:String — 바우처를 로컬 캐시에서 검색할지 아니면 미디어 권한 서버에서 검색할지 결정합니다.
|
removeFromDeviceGroup | () | 메서드 |
public function removeFromDeviceGroup(deviceGroup:DRMDeviceGroup):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 3.0, Flash Player 11.9 |
현재 실행 중인 장치를 장치 그룹에서 제거합니다.
매개 변수
deviceGroup:DRMDeviceGroup |
resetDRMVouchers | () | 메서드 |
public function resetDRMVouchers():void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.5, Flash Player 11.8 |
AIR 응용 프로그램에서는 로컬에서 캐시된 모든 DRM(디지털 권한 관리) 바우처 데이터가 삭제됩니다. 브라우저 기반 응용 프로그램의 경우 3322, 3346, 3323, 3326 오류가 발생한 동안에만 사용할 수 있으며 보호된 내용 재생 설정 패널과 마찬가지로 작동합니다.
사용자가 암호화된 내용에 액세스할 수 있으려면 응용 프로그램에서 필요한 바우처를 다시 다운로드해야 합니다. 이 함수를 호출하는 것은 Netstream.resetDRMVouchers()
를 호출하는 것과 같습니다.
오류
IOError — 바우처 데이터는 삭제할 수 없습니다.
|
관련 API 요소
returnVoucher | () | 메서드 |
public function returnVoucher(inServerURL:String, immediateCommit:Boolean, licenseID:String, policyID:String):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | Flash Player 11.8, AIR 3.8 |
지정된 모든 조건에 일치하는 모든 바우처를 라이센스 서버에 반환합니다. 바우처가 반환되는 경우 온 디스크 저장소 및 메모리에서 바우처가 제거됩니다. 현재 비디오 재생에 반환된 바우처를 사용하고 있는 Netstream 및 AVStream이 중단되지는 않지만, 이후 재생은 금지됩니다. DRMManager는 성공 시 DRMReturnVoucherCompleteEvent 또는 오류 발생 시 DRMReturnVoucherErrorEvent를 발생시킵니다. inServerURL이 null이거나, licenseID와 policyID가 모두 null인 경우 ArgumentError가 발생합니다.
매개 변수
inServerURL:String — 반환된 라이센스를 다운로드한 라이센스 서버 URL입니다.
| |
immediateCommit:Boolean — 예약된 값입니다. 지원되는 유일한 값은 true입니다.
| |
licenseID:String — (선택 사항) 이 licenseID에 일치하는 바우처가 반환됩니다. null인 경우 policyID가 대신 사용됩니다.
| |
policyID:String — (선택 사항) 이 policyID에 일치하는 바우처가 반환됩니다. null인 경우 licenseID가 대신 사용됩니다. licenseID와 policyID가 모두 null이 아닌 경우, licenseID와 policyID가 모두 일치하는 바우처만 반환됩니다.
|
setAuthenticationToken | () | 메서드 |
public function setAuthenticationToken(serverUrl:String, domain:String, token:ByteArray):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.5, Flash Player 10.1 |
지정된 서버 및 도메인과 통신하는 데 사용할 인증 토큰을 설정합니다.
인증 토큰은 authenticate()
메서드에 대한 호출이 성공한 후 전달된 DRMAuthenticationCompleteEvent 객체의 token
속성에서 사용할 수 있습니다. 이 토큰은 세션에 대해 자동으로 캐시되지만 setAuthenticationToken()
메서드를 사용하여 토큰을 직접 관리할 수 있습니다.
토큰을 설정하면 서버 및 도메인에 대해 기존에 캐시된 토큰이 덮어쓰여집니다. 캐시된 토큰을 지우려면 token
매개 변수를 null
로 설정합니다.
매개 변수
serverUrl:String — 미디어 권한 서버의 URL입니다.
| |
domain:String — DRMContentData
| |
token:ByteArray — 인증 토큰입니다.
|
storeVoucher | () | 메서드 |
authenticationComplete | 이벤트 |
flash.events.DRMAuthenticationCompleteEvent
속성 DRMAuthenticationCompleteEvent.type =
flash.events.DRMAuthenticationCompleteEvent.AUTHENTICATION_COMPLETE
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.5, Flash Player 10.1 |
authenticate()
메서드를 호출한 후에 미디어 권한 서버에서 사용자가 인증될 때 DRMManager가 DRMAuthenticationCompleteEvent 객체를 전달합니다.
authenticationError | 이벤트 |
flash.events.DRMAuthenticationErrorEvent
속성 DRMAuthenticationErrorEvent.type =
flash.events.DRMAuthenticationErrorEvent.AUTHENTICATION_ERROR
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.5, Flash Player 10.1 |
authenticate()
메서드를 호출한 후에 미디어 권한 서버에서 사용자가 인증되지 않을 때 DRMManager가 DRMAuthenticationErrorEvent 객체를 전달합니다.
drmError | 이벤트 |
flash.events.DRMErrorEvent
속성 DRMErrorEvent.type =
flash.events.DRMErrorEvent.DRM_ERROR
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.5, Flash Player 10.1 |
미디어 권한 서버에서 요청한 바우처를 얻을 수 없을 때 DRMManager가 DRMErrorEvent 객체를 전달합니다.
참고: 로컬 인증서 캐시에서 인증서 로드 시도(source
매개 변수로 localOnly
사용)에 실패하면 DRMErrorEvent 객체가 전달되지 않습니다. 대신 null
로 설정된 voucher
속성이 포함된 DRMStatusEvent 객체는 전달됩니다.
DRMErrorEvent.DRM_ERROR
상수는 drmError
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
errorID | 문제에 할당된 숫자 오류 코드입니다. |
subErrorID | 기본 문제에 대한 자세한 정보를 나타내는 오류 코드입니다. |
target | NetStream 객체입니다. |
drmStatus | 이벤트 |
flash.events.DRMStatusEvent
속성 DRMStatusEvent.type =
flash.events.DRMStatusEvent.DRM_STATUS
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.5, Flash Player 10.1 |
미디어 권한 서버에서 요청한 바우처를 얻을 때 DRMManager가 DRMStatusEvent 객체를 전달합니다.
DRMStatusEvent.DRM_STATUS
상수는 drmStatus
이벤트 객체의 type
속성 값을 정의합니다.
이 이벤트에는 다음과 같은 속성이 있습니다.
속성 | 값 |
---|---|
bubbles | false |
cancelable | false . 취소할 기본 비헤이비어가 없습니다. |
detail | 상태 이벤트의 컨텍스트를 설명하는 문자열입니다. |
isAnonymous | 사용자가 인증 자격 증명을 제공하지 않고도 DRM 암호화로 보호된 내용을 사용할 수 있는지 여부를 나타냅니다. |
isAvailableOffline | DRM 암호화로 보호된 내용을 오프라인으로 사용할 수 있는지 여부를 나타냅니다. |
offlineLeasePeriod | 내용을 오프라인으로 볼 수 있는 나머지 일 수입니다. |
policies | DRM 상태 이벤트의 사용자 정의 객체입니다. |
target | NetStream 객체입니다. |
voucherEndDate | 바우처가 만료되어 사용자가 더 이상 내용을 볼 수 없는 절대 날짜입니다. |
contentData | 내용에 대한 DRMContentData입니다. |
voucher | 내용에 대한 DRMVoucher 객체입니다. |
isLocal | 내용이 로컬 파일 시스템에 저장되어 있는지 여부를 나타냅니다. |
Tue Jun 12 2018, 03:17 PM Z