Annotation of embedaddon/strongswan/scripts/oid2der.c, revision 1.1
1.1 ! misho 1: /*
! 2: * Copyright (C) 2010 Martin Willi
! 3: * Copyright (C) 2010 revosec AG
! 4: *
! 5: * This program is free software; you can redistribute it and/or modify it
! 6: * under the terms of the GNU General Public License as published by the
! 7: * Free Software Foundation; either version 2 of the License, or (at your
! 8: * option) any later version. See <http://www.fsf.org/copyleft/gpl.txt>.
! 9: *
! 10: * This program is distributed in the hope that it will be useful, but
! 11: * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
! 12: * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
! 13: * for more details.
! 14: */
! 15:
! 16: #include <stdio.h>
! 17: #include <asn1/asn1.h>
! 18:
! 19: /**
! 20: * convert string OID to DER encoding
! 21: */
! 22: int main(int argc, char *argv[])
! 23: {
! 24: int i, nr = 0;
! 25: chunk_t oid;
! 26: char *decoded;
! 27: bool decode = FALSE;
! 28:
! 29: if (streq(argv[1], "-d"))
! 30: {
! 31: decode = TRUE;
! 32: nr++;
! 33: }
! 34:
! 35: while (argc > ++nr)
! 36: {
! 37: if (decode)
! 38: {
! 39: oid = chunk_from_hex(chunk_from_str(argv[nr]), NULL);
! 40: decoded = asn1_oid_to_string(oid);
! 41: printf("%s\n", decoded);
! 42: free(decoded);
! 43: free(oid.ptr);
! 44: continue;
! 45: }
! 46: oid = asn1_oid_from_string(argv[nr]);
! 47: if (oid.len)
! 48: {
! 49: for (i = 0; i < oid.len; i++)
! 50: {
! 51: printf("0x%02x,", oid.ptr[i]);
! 52: }
! 53: printf("\n");
! 54: free(oid.ptr);
! 55: }
! 56: else
! 57: {
! 58: return 1;
! 59: }
! 60: }
! 61: return 0;
! 62: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>