2012-01-12 39 views
5

Quiero implementar algún protocolo usando asn.1, así que lo que tengo que hacer es declarar estructuras y etiquetar el nombre en algún archivo de cabecera e implementar la regla de codificación de asn.1 como una función. ¿Puede sugerirme algún tutorial o libro para referirme? No sé cómo escribir un código para ello.¿Cómo trabajar en ASN.1 e implementar estructuras en él?

Respuesta

3

Así ASN.1 no es realmente algo que escribir código para ello es sólo el nombre de un estándar para la definición de diversos protocolos de comunicación (generalmente la codificación, transmisión, etc.)

Me sorprende que, obviamente, paraíso' t tenía un vistazo a
http://en.wikipedia.org/wiki/Asn.1

como este alto definitons básicos, así como proporcionar múltiples recursos sobre el tema incluyendo algunos libros y ejemplos de varios estándares de codificación común definidos en ASN.1 DER (por ejemplo, BER, etc.)

Eso debería comenzar, ya que en realidad no ha indicado si hay alguna implementación específica en la que esté trabajando o cualquier otra cosa sobre el problema que está teniendo.

+0

Estoy tratando de poner en práctica MMS (Manufacturing Message Specification) protocolo mediante el uso de notaciones ASN.1 por eso es necesario una línea guía que cómo definir estructuras para mi protocolo .Por ejemplo de wiki que dan un ejemplo de una estructura FOOPregunta por SECUENCIA pero no es una forma de definir estructuras en c. – tod

+0

ese archivo de estructura de datos es algún archivo específico de asn.1? – tod

+0

@tod Debería tener un documento ASN.1 existente para MMS. A partir de ahí, puede usar un generador de código para producir C. El generador de código tomará el documento ASN.1 como entrada y generará las estructuras C correspondientes con los métodos de codificación y descodificación que lo acompañan. De lo contrario, tendrá que hacer lo que el generador de código hace a mano: averigüe las correspondencias sensatas desde las estructuras ASN.1 hasta las estructuras C, y luego escriba la lógica de codificación/descodificación.Es posible que desee consultar nuestro [sitio web] (http://www.obj-sys.com) - vendemos solo un generador de código de este tipo. Por supuesto, hay otros por ahí. – Kevin

4

Si es nuevo en ASN.1, eche un vistazo a "ASN.1 Made Simple" - http://www.oss.com/asn1/resources/asn1-made-simple/introduction.html - que le ofrece una introducción simple a ASN.1. También hay un par de buenos libros disponibles como descarga gratuita en http://www.oss.com/asn1/resources/books-whitepapers-pubs/asn1-books.html que le dan una visión mucho más completa.

Este sitio no me deja publicar más de dos enlaces por mensaje, por lo tanto, más información seguirá en una publicación separada.

5

Parte 2

Si usted tiene una especificación ASN.1, lo mejor es conseguir un compilador de ASN.1 que lee la especificación ASN.1 y genera código en C, C++, C# o Java que corresponde a las estructuras ASN.1. Hay muchas herramientas comerciales y gratuitas de ASN.1 disponibles, y muchas de las herramientas comerciales de ASN.1 ofrecen pruebas gratuitas. Puede ver una buena lista de herramientas ASN.1 en http://www.itu.int/ITU-T/asn1/links/index.htm, donde también puede encontrar información ASN.1 útil adicional.

El uso de una buena herramienta ASN.1 hace que su tarea de desarrollo sea muy simple, ya que no tiene que preocuparse por todos los detalles para obtener los bits precisos en la línea correcta. La herramienta maneja esto para ti. Usted se concentra en la estructura de datos C o en C++, C# u objeto Java mientras que la herramienta ASN.1 maneja la conversión hacia y desde las cadenas de bits que se envían a través de la línea.

Si no tiene una especificación ASN.1, aún así es mejor utilizar una buena herramienta ASN.1 para guiarlo en la creación de su especificación ASN.1. Los libros y tutoriales cuyos enlaces están en mi primer mensaje son un buen lugar para comenzar si necesita crear sus propias especificaciones.

Paul

+0

gracias por tu apoyo Paul y refrences que me diste – tod

Cuestiones relacionadas