Tengo un cliente que está enviando una clave de seguridad. La encriptación que están usando es triple DES. Cada afirmación que envían tiene un valor de firma que debe validarse para otorgarles los privilegios necesarios. ¿Me puede dar un código de muestra que hace esto?Cómo validar un valor de firma SAML
Respuesta
El cifrado y la firma son dos animales diferentes. Triple DES es un método de clave simétrica (la misma clave utilizada para el cifrado y descifrado). Las firmas digitales, por otro lado, usan claves asimétricas (par de claves privadas/públicas), donde la firma se calcula usando la clave privada y se puede validar con la clave pública. Por lo tanto, si su cliente desea incluir firmas en XML que le envían, debe proporcionarle su clave pública.
Para el cifrado, lo que es típico en SAML es usar XMLEncryption, que define un formato XML para incluir información de claves de cifrado y datos cifrados en sus mensajes SAML. Dado que el intercambio de una clave simétrica estática es problemática; si se intercepta, el interceptor puede cifrar y descifrar cualquier mensaje; en cambio, lo que se puede hacer es usar una clave simétrica dinámica que se genera de nuevo para cada mensaje, encriptar el mensaje usando la clave, luego encripte esa clave con la clave pública de un par de claves de cifrado privadas/públicas y envíela junto con el mensaje. La clave simétrica cifrada solo se puede descifrar utilizando la mitad privada del par de claves utilizado para encriptarla.
Así que la diferencia más significativa aquí, desde una perspectiva clave, es que para firmar, el cliente tiene la clave privada y debe compartir la clave pública con usted, mientras que para el cifrado, mantiene la clave privada y debe compartir el público clave con el cliente
Si desea validar la firma en la aserción SAML o cualquiera de los objetos XML pueden firmar, el OpenSAML wiki tiene más información:
https://wiki.shibboleth.net/confluence/plugins/viewsource/viewpagesrc.action?pageId=3277047
Puede buscar 'Ejemplos comprobación de firma'.
Este blog tiene también un ejemplo así:
http://mylifewithjava.blogspot.com/2012/11/verifying-signatures-with-opensaml.html
Para obtener un 'credenciales' para la validación, ver aquí: http://mylifewithjava.blogspot.com/2011/03/getting-credentials-in-opensaml.html
Para información sobre cómo Resolver referencia XML en una Abrir objeto SAML, consulte aquí: https://wiki.shibboleth.net/confluence/display/OpenSAML/OSTwoUsrManJavaCreateFromXML
Gracias, Yogesh
Estoy explicando todo esto en detalle en mi nuevo libro, Una guía para OpenSAML, https://gumroad.com/l/a-guide-to-opensaml –
Lamentablemente, los enlaces y el libro don ' Parece que cubre cómo construir la 'credencial' (utilizada por la función' SignatureValidator() ') desde la Firma dentro de la SAML. – GrandAdmiral
- 1. Validar java Firma SAML de C#
- 2. ¿Firmar respuesta SAML con o sin firma de aserción?
- 3. Cómo implementar SAML SSO
- 4. Validar firma de Authenticode en EXE - C++ sin CAPICOM
- 5. ¿Necesitamos absolutamente un STS para SAML?
- 6. Certificado autofirmado con SAML 2.0
- 7. Lectura de los atributos SAML del token SAML
- 8. ¿Cómo validar un JTextField?
- 9. ¿Cómo validar un pasaporte?
- 10. Firma XML: ¿Cómo calcular el valor de resumen?
- 11. SAML con .NET 2.0
- 12. SSO transparente con SAML (IE, SAML 2.0, ADFS, autenticación Kerberos)
- 13. ¿Utiliza un valor de modelo ASP .NET MVC para validar otro valor de modelo?
- 14. comprensión Shibboleth y SAML
- 15. ¿Cómo validar un correo electrónico en PHP?
- 16. DataGridView validar valor antiguo insted del nuevo valor
- 17. NodeJS SAML Lib
- 18. Crear token SAML personalizado
- 19. SAML NameId Policy
- 20. ¿Cómo validar un porcentaje de dos decimales con un Regex?
- 21. ¿Cómo realmente proporciona SAML la seguridad?
- 22. ¿Cómo obtener la firma de firma de APK?
- 23. ¿Cómo "validar" un NSTimer después de invalidarlo?
- 24. Rieles: ¿cómo validar un campo solo si otro campo tiene un cierto valor?
- 25. Validar subconjunto de un formulario utilizando jQuery Validar complemento
- 26. WCF Client - Especificación del algoritmo de firma para la firma WS-Security Timestamp
- 27. Cómo validar un campo relacionado con el valor de otro en ASP .NET MVC 3
- 28. ¿Validar un esquema XSD?
- 29. Formularios Django - ¿Cómo no validar?
- 30. Ejemplo de código .NET para un proveedor de identidad SAML
@king - ¿cuál es su plataforma? ¿Java? do#? php? por favor especifique para que el ejemplo/respuesta sea aplicable. –
java usando opensaml – stu