다음을 통해 공유


미디어 샘플 암호화 및 가져오기

[이 페이지와 연결된 기능인 Windows Media Format 11 SDK는 레거시 기능입니다. 원본 판독기 및 싱크 작성기에 의해 대체되었습니다. 원본 판독기 및 싱크 작성기는 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드에서 Windows Media Format 11 SDK 대신 소스 판독기 및 싱크 기록기를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]

Windows Media DRM을 사용하여 암호화하는 각 미디어 샘플에 대해 이전 샘플보다 엄격하게 큰 솔트 값을 생성해야 합니다(단조롭게 증가). 새 솔트 값을 사용하여 SALT 값과 연결된 초기화 벡터에 SHA-1 암호화 알고리즘을 적용하여 일시적인 암호화 키를 만듭니다.

다음으로, 생성된 전이적 키를 사용하여 RC4 알고리즘에 따라 샘플을 암호화합니다. 샘플이 SDK에 전달되기 전에 애플리케이션은 확장 특성을 설정하여 솔트 값을 샘플과 연결해야 합니다.

미디어 샘플을 암호화하는 단계는 다음과 같습니다.

  1. 샘플 개체의 QueryInterface 메서드를 호출하여 INSSBuffer3 인터페이스를 가져옵니다.
  2. 솔트 값을 증분합니다.
  3. RC1 암호화 알고리즘을 사용하여 샘플을 암호화합니다. 암호화의 경우 초기화 벡터와 솔트 값을 연결하여 키를 만듭니다.
  4. INSSBuffer::SetProperty를 호출하여 SDK에 솔트 값을 제공합니다.

DRM 가져오기

미디어 샘플 암호화 예제