2009-05-01 9 views

Respuesta

5

el siguiente proyecto parece prometedor:

http://www.chaosinmotion.com/wiki/index.php?title=ASN.1_Library

Se proporciona bajo una licencia de tipo BSD liberal.

Es pequeño, 41 clases que compilan a 55KiB.

Se compiló limpia, sin dependencias a Java 3.

+0

Dado que ese enlace parece haberse podrido: las fuentes están en http://www.chaosinmotion.com/sources/asn.1.zip –

2

La biblioteca gratuita BouncyCastle proporciona un análisis ASN.1 de bajo nivel. No necesita instalar BC como proveedor para usar las capacidades de ASN.1. Tiene diferentes versiones para 1.4 y superior. No tiene dependencias externas. Como el paquete predeterminado contiene todas las clases de proveedores de BC, es posible que desee volver a empaquetarlo si desea algo más compacto.

+0

Es una opción viable, pero en realidad no parece cumplir con el requisito de peso liviano (considero que el peso ligero es inferior a 50K). –

+0

Sí, escribí mi propia clase de decodificador. Se trata de unas 200 líneas de código, tal vez. Lo he estado utilizando durante más de 10 años, y me gustaría volver a configurarlo para proporcionar una interfaz diferente, pero definitivamente ha cumplido con la necesidad. – erickson

+0

@Erickson: ¿Alguna posibilidad de que quiera compartirlo? (Aunque es una prioridad baja para mí ahora que he resuelto mis problemas inmediatos con un almacén de claves PKCS # 12, así que no hay prisa). –

0

tengo que ser capaz de analizar cualquier tipo de datos ASN.1 en Krypt. Aunque krypt es un proyecto de Ruby, es posible que desee echarle un vistazo al JRuby extension - el código para manejar el análisis/codificación ASN.1 está escrito completamente en Java y es lo suficientemente modular para una fácil extracción.

También hice un Java-only version, pero falta algo de la funcionalidad de nivel superior del primero. Pero dado que es conciso, tal vez sea una buena oportunidad para comenzar.

Ambos están libres de dependencias adicionales y usan solo la funcionalidad JDK estándar.

2

Puede usar jASN1. Está licenciado bajo LGPL y debe satisfacer todas sus necesidades. También es muy eficiente.

Cuestiones relacionadas