Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Información general
El entorno de prueba de PlayReady proporciona varios servidores con versiones para admitir pruebas en diferentes versiones y conjuntos de características de PlayReady. Cada servidor con versiones implementa funcionalidades y requisitos de cumplimiento específicos de PlayReady, lo que permite realizar pruebas completas de implementaciones de cliente.
Versiones disponibles del servidor
Servidores de prueba de PlayReady 1.x
Servidores heredados para pruebas de compatibilidad de PlayReady 1.0-1.3:
https://playready-v1.directtaps.net/pr/svc/rightsmanager.asmx
Características
- Adquisición de licencias básica
- Protección de salida sencilla
- Protocolos SOAP heredados
- Compatibilidad de Silverlight
Servidores de prueba de PlayReady 2.x
Servidores compatibles con las características de PlayReady 2.0-2.3:
https://playready-v2.directtaps.net/pr/svc/rightsmanager.asmx
Características
- Directivas de licencia mejoradas
- Licencias enlazadas a dominio
- Funcionalidad de detención segura
- Compatibilidad con DRM basada en hardware
Servidores de prueba de PlayReady 3.x
Servidores modernos con funcionalidades de PlayReady 3.0+:
https://playready-v3.directtaps.net/pr/svc/rightsmanager.asmx
Características
- Compatibilidad con el cifrado común (CENC)
- Niveles de protección de salida avanzados
- Funcionalidad de eliminación segura
- Rotación de claves mejorada
Servidores de prueba de PlayReady 4.x
Servidores más recientes que admiten características de PlayReady 4.0+:
https://playready-v4.directtaps.net/pr/svc/rightsmanager.asmx
Características
- Compatibilidad con el nivel de seguridad SL3000
- Seguridad avanzada de hardware
- Aplicación mejorada de directivas
- Estándares de cifrado modernos
pruebas de Version-Specific
Detección de versiones de cliente
Pruebe la compatibilidad del servidor con diferentes versiones de cliente:
// Test client version compatibility
async function testClientVersionCompatibility(clientVersion) {
const serverUrl = getServerUrlForVersion(clientVersion);
const response = await testLicenseAcquisition(serverUrl);
return response.success;
}
function getServerUrlForVersion(version) {
const versionMap = {
'1.x': 'https://playready-v1.directtaps.net/pr/svc/rightsmanager.asmx',
'2.x': 'https://playready-v2.directtaps.net/pr/svc/rightsmanager.asmx',
'3.x': 'https://playready-v3.directtaps.net/pr/svc/rightsmanager.asmx',
'4.x': 'https://playready-v4.directtaps.net/pr/svc/rightsmanager.asmx'
};
return versionMap[version];
}
Matriz de compatibilidad de características
| Característica | v1.x | v2.x | v3.x | v4.x |
|---|---|---|---|---|
| Adquisición básica de licencias | ✓ | ✓ | ✓ | ✓ |
| licencias de Domain-Bound | ✗ | ✓ | ✓ | ✓ |
| Detención segura | ✗ | ✓ | ✓ | ✓ |
| Eliminación segura | ✗ | ✗ | ✓ | ✓ |
| Seguridad de hardware | ✗ | Parcial | ✓ | ✓ |
| OPLs avanzadas | ✗ | ✗ | ✓ | ✓ |
| Compatibilidad con SL3000 | ✗ | ✗ | ✗ | ✓ |
Configuración de Version-Specific
Configuración de PlayReady 1.x
Configuración básica de licencias para clientes heredados:
<LicenseAcquisition>
<Header>
<DATA>
<PROTECTINFO>
<KEYLEN>16</KEYLEN>
<ALGID>AESCTR</ALGID>
</PROTECTINFO>
<KID>base64-encoded-kid</KID>
<CHECKSUM>base64-encoded-checksum</CHECKSUM>
</DATA>
</Header>
</LicenseAcquisition>
Configuración de PlayReady 2.x
Configuración mejorada con compatibilidad con dominios:
{
"version": "2.0",
"licenseType": "persistent",
"keyId": "key-id-guid",
"domainBinding": {
"required": true,
"domainId": "domain-service-id"
},
"outputProtection": {
"digital": "required",
"analog": "copy-never"
}
}
Configuración de PlayReady 3.x
Configuración moderna con características avanzadas:
{
"version": "3.0",
"licenseType": "persistent",
"keyId": "key-id-guid",
"securityLevel": "SL2000",
"outputProtectionLevels": {
"compressedDigitalVideo": 270,
"uncompressedDigitalVideo": 270,
"analogVideo": 150,
"compressedDigitalAudio": 200,
"uncompressedDigitalAudio": 200
},
"secureStop": {
"required": true,
"serverUrl": "https://securestop.service.com"
}
}
Configuración de PlayReady 4.x
Configuración más reciente con compatibilidad con SL3000:
{
"version": "4.0",
"licenseType": "persistent",
"keyId": "key-id-guid",
"securityLevel": "SL3000",
"hardwareBinding": {
"required": true,
"allowSoftwareFallback": false
},
"outputProtectionLevels": {
"compressedDigitalVideo": 270,
"uncompressedDigitalVideo": 270,
"analogVideo": 100
},
"advancedSecurity": {
"antiRollbackClock": true,
"tamperResistance": "required"
}
}
Escenarios de prueba por versión
Pruebas de compatibilidad de versiones
Escenarios de prueba para cada versión del servidor:
Pruebas de PlayReady 1.x
// Basic license acquisition test
async function testPlayReady1x() {
const config = {
serverUrl: 'https://playready-v1.directtaps.net/pr/svc/rightsmanager.asmx',
playRight: 1,
keyId: 'test-key-id'
};
return await testBasicLicenseAcquisition(config);
}
Pruebas de PlayReady 2.x
// Domain-bound license test
async function testPlayReady2x() {
const config = {
serverUrl: 'https://playready-v2.directtaps.net/pr/svc/rightsmanager.asmx',
licenseType: 'persistent',
keyId: 'test-key-id',
domainRequired: true
};
return await testDomainBoundLicense(config);
}
Pruebas de PlayReady 3.x
// Secure stop functionality test
async function testPlayReady3x() {
const config = {
serverUrl: 'https://playready-v3.directtaps.net/pr/svc/rightsmanager.asmx',
licenseType: 'persistent',
keyId: 'test-key-id',
secureStopRequired: true,
securityLevel: 'SL2000'
};
return await testSecureStopFunctionality(config);
}
Pruebas de PlayReady 4.x
// Hardware security test
async function testPlayReady4x() {
const config = {
serverUrl: 'https://playready-v4.directtaps.net/pr/svc/rightsmanager.asmx',
licenseType: 'persistent',
keyId: 'test-key-id',
securityLevel: 'SL3000',
hardwareBindingRequired: true
};
return await testHardwareSecurity(config);
}
Estrategia de selección de servidor
Detección automática de versiones
async function selectOptimalServer(clientCapabilities) {
// Check client PlayReady version
const clientVersion = clientCapabilities.playreadyVersion;
// Select compatible server version
if (clientVersion >= '4.0') {
return 'https://playready-v4.directtaps.net/pr/svc/rightsmanager.asmx';
} else if (clientVersion >= '3.0') {
return 'https://playready-v3.directtaps.net/pr/svc/rightsmanager.asmx';
} else if (clientVersion >= '2.0') {
return 'https://playready-v2.directtaps.net/pr/svc/rightsmanager.asmx';
} else {
return 'https://playready-v1.directtaps.net/pr/svc/rightsmanager.asmx';
}
}
selección de Feature-Based
function selectServerByFeatures(requiredFeatures) {
const serverCapabilities = {
'v4': ['basic', 'domain', 'secureStop', 'secureDelete', 'sl3000'],
'v3': ['basic', 'domain', 'secureStop', 'secureDelete', 'sl2000'],
'v2': ['basic', 'domain', 'secureStop'],
'v1': ['basic']
};
// Find minimum server version that supports all required features
for (const [version, features] of Object.entries(serverCapabilities).reverse()) {
if (requiredFeatures.every(feature => features.includes(feature))) {
return `https://playready-${version}.directtaps.net/pr/svc/rightsmanager.asmx`;
}
}
throw new Error('No compatible server version found');
}
Pruebas de migración
Compatibilidad entre versiones
Pruebe la compatibilidad de licencias en distintas versiones del servidor:
async function testCrossVersionCompatibility() {
const keyId = 'test-key-12345';
const results = {};
// Test each server version
for (const version of ['v1', 'v2', 'v3', 'v4']) {
try {
const serverUrl = `https://playready-${version}.directtaps.net/pr/svc/rightsmanager.asmx`;
results[version] = await testLicenseAcquisition(serverUrl, keyId);
} catch (error) {
results[version] = { success: false, error: error.message };
}
}
return results;
}
Actualizar pruebas de ruta de acceso
Probar escenarios de actualización de cliente:
async function testUpgradePath(fromVersion, toVersion) {
// Get license from old server
const oldServerUrl = `https://playready-${fromVersion}.directtaps.net/pr/svc/rightsmanager.asmx`;
const oldLicense = await acquireLicense(oldServerUrl);
// Test license compatibility with new server
const newServerUrl = `https://playready-${toVersion}.directtaps.net/pr/svc/rightsmanager.asmx`;
return await validateLicenseCompatibility(newServerUrl, oldLicense);
}
Procedimientos recomendados
Directrices de selección de servidor
- Coincidir con la versión del cliente: use la versión del servidor que coincida o sea compatible con el cliente.
- Requisitos de características: seleccione en función de las características DE DRM necesarias.
- Nivel de seguridad: elija el nivel de seguridad adecuado para el contenido.
- Compatibilidad con versiones anteriores: prueba con versiones anteriores del servidor para la compatibilidad
Recomendaciones de pruebas
- Pruebas de matriz de versiones: probar todas las combinaciones de versión de cliente-servidor
- Aislamiento de características: probar características individuales en las versiones de servidor adecuadas
- Escenarios de migración: probar rutas de actualización y degradación
- Control de errores: escenarios de error de coincidencia de versiones de prueba
Supervisión y diagnóstico
Comprobaciones de estado del servidor
async function checkServerHealth(version) {
const serverUrl = `https://playready-${version}.directtaps.net/pr/svc/rightsmanager.asmx`;
try {
const response = await fetch(`${serverUrl}?health`);
return {
version: version,
status: response.ok ? 'healthy' : 'unhealthy',
responseTime: response.headers.get('x-response-time')
};
} catch (error) {
return {
version: version,
status: 'error',
error: error.message
};
}
}
Documentación relacionada
- Servicio de servidor de prueba de PlayReady : información general sobre el servicio principal
- Prueba de versiones de Client-Server : guía de pruebas de versiones
- Migración: guía de migración
- Servidores de prueba de PlayReady : documentación completa del servidor
Soporte técnico y solución de problemas
Para problemas con servidores con versiones:
- Comprobación de la compatibilidad de la versión de cliente-servidor
- Comprobación de la matriz de compatibilidad de características
- Prueba con la versión de servidor adecuada
- Revisión de los requisitos de configuración específicos de la versión
- Validación de los requisitos de nivel de seguridad
Para obtener soporte adicional, consulte la documentación principal de los servidores de prueba de PlayReady .