[Windows Media Format 11 SDK 이 페이지와 연결된 기능은 레거시 기능입니다. 이전 항목은 원본 판독기 과 싱크 작성기 에 의해 대체되었습니다. 원본 판독기 및 싱크 기록기 Windows 10 및 Windows 11에 최적화되었습니다. 가능한 경우 새 코드에서 Windows Media Format 11 SDK 대신 원본 판독기 및 싱크 기록기 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
Windows Media DRM을 사용하여 암호화하는 각 미디어 샘플에 대해 이전 버전보다 엄격하게 큰 솔트 값을 생성해야 합니다(단조적으로 증가). 새 솔트 값을 사용하여 솔트 값과 연결된 초기화 벡터에 SHA-1 암호화 알고리즘을 적용하여 일시적인 암호화 키를 만듭니다.
다음으로, 생성된 일시적인 키를 사용하여 RC4 알고리즘에 따라 샘플을 암호화합니다. 샘플이 SDK에 전달되기 전에 애플리케이션은 확장 특성을 설정하여 솔트 값을 샘플과 연결해야 합니다.
미디어 샘플을 암호화하는 단계는 다음과 같습니다.
- 샘플 개체의 QueryInterface 메서드를 호출하여 INSSBuffer3 인터페이스를 가져옵니다.
- 솔트 값을 증가시킵니다.
- RC1 암호화 알고리즘을 사용하여 샘플을 암호화합니다. 암호화의 경우 초기화 벡터와 솔트 값을 연결하여 키를 만듭니다.
- INSSBuffer::SetProperty호출하여 SDK에 솔트 값을 제공합니다.
관련 항목