Commit Graph

53 Commits

Author SHA1 Message Date
Peter Wu 317af2c68c x509af: dissect subjectPublicKey for RSA
The subjectPublicKey field of a Certificate (TBSCertificate) is defined
as type BIT STRING. The actual contents depend on the Algorithm
Identifier which is preceding the subjectPublicKey field.

This patch adds support for dissection of the public key for RSA
public keys which show up below the subjectPublicKey tree:

    subjectPublicKeyInfo
        algorithm (rsaEncryption)
            Algorithm Id: 1.2.840.113549.1.1.1 (rsaEncryption)
        subjectPublicKey: 3082010a0282010100b7c769e2d0eacaeb929fc08238a9ff...
            modulus : 0x00b7c769e2d0eacaeb929fc08238a9ffc59cab39c28a2e26...
            publicExponent: 65537

Change-Id: Ib92645433b0a0078a947ff0ac26c5e6a64877b93
Reviewed-on: https://code.wireshark.org/review/10967
Reviewed-by: Martin Kaiser <wireshark@kaiser.cx>
Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2015-10-18 03:30:21 +00:00
Peter Wu 877fd03cbf ssl-utils: load RSA keys based on their modulus+exponent
Load RSA private keys based on their public key instead of relying on
the user to specify a valid address and port mapping. This is more
reliable and prepares for simplification of the SSL Keys dialog.

After this change, the "address" part of the UAT dialog will be ignored
when loading the private key. The port+protocol mapping is still
imported, but should probably be removed too.

Change-Id: I4d7a2bfcf63d17e66e336ef770759f20510fc176
Reviewed-on: https://code.wireshark.org/review/10766
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2015-10-07 04:09:42 +00:00
Bill Meier dd859eada4 asn1 generated dissectors: cleanup #include usage
Change-Id: I36b2731d67f9345d2fd0c23800bba7d2be94c387
Reviewed-on: https://code.wireshark.org/review/6008
Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-12-23 05:39:00 +00:00
Stig Bjørlykke 4e1b5ea866 ASN1: Register PDU-dissectors as NEW
Change-Id: I1a317b19d8076588c9305dae6287bb80cc14da64
Reviewed-on: https://code.wireshark.org/review/4494
Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
Tested-by: Stig Bjørlykke <stig@bjorlykke.org>
2014-10-13 11:24:07 +00:00
Bill Meier a379ac74d2 Fix spelling: cant-->can't, wont-->won't, etc
Change-Id: Ia6c3e7a25615bf8e052c3bacf096d76df775c9c2
Reviewed-on: https://code.wireshark.org/review/4126
Reviewed-by: Bill Meier <wmeier@newsguy.com>
2014-09-16 15:31:58 +00:00
Michael Mann 9356d5c689 convert to proto_tree_add_subtree[_format] for ASN.1 dissectors
Change-Id: I753ca95e2e1b38bad2c09955317e648c525e40ef
Reviewed-on: https://code.wireshark.org/review/2509
Tested-by: Michael Mann <mmann78@netscape.net>
Reviewed-by: Michael Mann <mmann78@netscape.net>
2014-06-22 21:08:21 +00:00
Bill Meier 1dff4e309d Remove trailing whitespace from asn1 .cnf & template.[hc] files. Regenerate dissectors.
Change-Id: I0e779b2ac2f608356649c5bbfca438141070dea4
Reviewed-on: https://code.wireshark.org/review/412
Reviewed-by: Bill Meier <wmeier@newsguy.com>
Tested-by: Bill Meier <wmeier@newsguy.com>
2014-02-26 19:38:21 +00:00
Jeff Morriss 8c608e6e82 Remove $Id$ from the ASN.1 dissectors and regenerate them.
Change-Id: Ie476c6f82f318188b41ed922b92c6fec119ea954
Reviewed-on: https://code.wireshark.org/review/244
Reviewed-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
Tested-by: Jeff Morriss <jeff.morriss.ws@gmail.com>
2014-02-18 03:05:28 +00:00
Stig Bjørlykke face757db3 Added back x509af_get_last_algorithm_id() removed in revision 54647 to
restore usage in cms and pkcs12.  They never got a valid value in 
actx->external.direct_reference because they use another actx in this case.

This will add back the global variable in x509af, but this is needed
until we manage to pass the value in another way.

See comments in bug 9573.

svn path=/trunk/; revision=54975
2014-01-27 09:02:06 +00:00
Michael Mann 92a567f20d Make global algorithm_id in x509af dissector a direct_reference instead. Bug 9573 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9573). Removes valgrind warnings as well as just being Good Code.
svn path=/trunk/; revision=54647
2014-01-08 04:55:59 +00:00
Michael Mann b787f03df3 Remove some global variables in favor of private_data member of asn1_ctx_t. Bug 7060 (https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7060). This should (mostly) passify the bug, but it appears like this could be done with a lot more ASN.1 dissectors.
svn path=/trunk/; revision=49117
2013-05-01 20:54:31 +00:00
Anders Broman dafdc19d9e -Wmissing-prototypes
svn path=/trunk/; revision=48609
2013-03-28 07:34:13 +00:00
Jeff Morriss 3551a86c36 We always HAVE_CONFIG_H so don't bother checking whether we have it or not.
svn path=/trunk/; revision=45015
2012-09-20 01:29:52 +00:00
Jakub Zawadzki 5a8783f5b1 Initial commit to support yet another method of passing data between dissectors.
Add new parameter 'data' to heur_dissector_t and new_dissector_t, for now it's always NULL

svn path=/trunk/; revision=44860
2012-09-10 21:40:21 +00:00
Jakub Zawadzki bf81b42e1e Update Free Software Foundation address.
(COPYING will be updated in next commit)

svn path=/trunk/; revision=43536
2012-06-28 22:56:06 +00:00
Stig Bjørlykke 8246e87432 Moved register_ber_syntax_dissector() and register_ber_oid_syntax() from
proto_reg_handoff_* to proto_register_*.

svn path=/trunk/; revision=33345
2010-06-28 10:34:15 +00:00
Stig Bjørlykke 9bfdc344d2 Export Certificate PDU so this can be dissected from non-asn dissectors.
svn path=/trunk/; revision=32532
2010-04-21 10:14:04 +00:00
Bill Meier 9ade30a7b1 #include <string.h> and/or #include <stdio.h> not needed.
svn path=/trunk/; revision=32417
2010-04-07 16:54:29 +00:00
Bill Meier f8b92f8d0b #include <stdio.h> not needed.
svn path=/trunk/; revision=32405
2010-04-06 17:01:14 +00:00
Kovarththanan Rajaratnam cf8138e195 Remove check_col() guard
svn path=/trunk/; revision=30124
2009-09-24 19:50:43 +00:00
Kovarththanan Rajaratnam 99624329fa Don't col_clear() followed by col_set_str(). A col_set_str() will clear (replace) any existing string (the fence still needs to be respected though)
svn path=/trunk/; revision=30086
2009-09-23 14:30:36 +00:00
Kovarththanan Rajaratnam e971354a54 Don't guard col_set_str (COL_PROTOCOL) with col_check
svn path=/trunk/; revision=29340
2009-08-09 06:26:46 +00:00
Stig Bjørlykke e3ef20f3ea From Kovarththanan Rajaratnam:
Clean up header field info in asn1/*-template.c files.

From me:
Fixed a few typos in the patch.

svn path=/trunk/; revision=28817
2009-06-23 06:02:12 +00:00
Graeme Lunt 24187e9c4d Correct LDAP certificate attribute name
svn path=/trunk/; revision=28587
2009-06-02 09:20:10 +00:00
Bill Meier 35e5fa9bc1 #include <epan/conversation.h> and/or #include <epan/emem.h> not req'd ...
svn path=/trunk/; revision=27390
2009-02-07 14:33:47 +00:00
Ronnie Sahlberg 3c8c901617 add 3 new OIDs to the x509af dissector
svn path=/trunk/; revision=26325
2008-10-01 05:23:58 +00:00
Anders Broman 1950ffc214 Apply the small performance enhancment patches for:
- if offset is 0, tvb_length is the same as tvb_length_remaining, just faster.
Replace 
- col_append_fstr() with faster  col_append_str() 
- col_add_str() with col_set_str()
when it's safe

svn path=/trunk/; revision=23252
2007-10-23 05:50:00 +00:00
Luis Ontanon 00c5e48a17 get users of oid_resolv to use the new oids, rollout packet-snmp.c
svn path=/trunk/; revision=22651
2007-08-25 01:14:24 +00:00
Anders Broman c01f382974 Second step in introducing asn context to BER dissectors just like in PER.
svn path=/trunk/; revision=21753
2007-05-13 20:58:29 +00:00
Graeme Lunt 2fd7d2c620 New "decode as ..." feature for BER-encoded files (WTAP_FILE_BER).
A BER-encoded file can be dissected as one of a number of registered syntaxes (registered using register_ber_syntax_dissector()). 
Syntaxes may also be associated with OIDs (or other strings) using register_ber_oid_syntax(). 

A default syntax with which to dissect a BER-encoded file is determined from its filename (extension). For example, ".cer" and ".crt" files will be dissected as "Certificate".


svn path=/trunk/; revision=20414
2007-01-13 12:59:27 +00:00
Guy Harris fa10d33734 Include <epan/oid_resolv.h> to declare get_oid_str_name().
svn path=/trunk/; revision=18627
2006-07-01 00:11:49 +00:00
Ronnie Sahlberg 89f022b12b name change
svn path=/trunk/; revision=18197
2006-05-21 05:12:17 +00:00
Graeme Lunt 146d22767c LDAP attribute type dissector framework including support for "netlogon" attribute and PKI attributes
svn path=/trunk/; revision=18109
2006-05-08 17:52:42 +00:00
Guy Harris 148d700e01 Get rid of some char * vs. const char * warnings, and declare a function
with no arguments as such.

svn path=/trunk/; revision=16532
2005-11-17 11:16:37 +00:00
Anders Broman c33182b898 From Graeme Lunt:
Here are a number of small patches for asn1 based dissectors:

acse:
  release request/response column information (many X.400/X.500 unbinds are
empty)
  "standardised" PNAME to "ISO 8650-1 OSI Association Control Service"
  fix for crash when using EXTERNAL dissector

rtse:
  column information when attempting a resume

x509if:
  generation of LDAP-style DNs from RDNSequences 
  new function x509if_get_last_dn() to get the last DN generated.

x509af:
  DSS parameters
  certificate extension naming
  subject naming of certificate

x509sat:
  Guide syntax (as SET now supported)
  PDU exports.
  
cms:
  verification of message digest attribute (SHA-1 and MD5)
  
ess:
  enumerated/restrictive/permissive/informative security categories

x411:
  generation of string encoding of X.400 addresses, trace information and message identifiers.

s4406:
  separate types for primary and copy precedence to allow better filtering (e.g. primary precedence = flash)
  priority-level-qualifier


svn path=/trunk/; revision=16508
2005-11-16 07:13:12 +00:00
Tomas Kukosa 3b770d5c7c - dissect_ber_object_identifier() returns value as tvb
- new dissect_ber_object_identifier_str() function
 - BER dissectors adapted and regenerated

svn path=/trunk/; revision=16501
2005-11-14 10:02:31 +00:00
Gerald Combs 082651c83e Define a maximum OID string length, and use it in a lot of places. Fixes a
buffer overflow found while fuzz testing.

svn path=/trunk/; revision=14169
2005-04-22 21:17:13 +00:00
Ronnie Sahlberg 8f73759eef Make ethereal dissect application/pkix-crl CertificateRevocationLists over HTTP.
svn path=/trunk/; revision=12624
2004-11-30 04:08:16 +00:00
Ronnie Sahlberg f102c20151 New protocol: RFC2634 ExtendedSecurityServices
updates to cms to accomodate the new protocol

add author to some files


svn path=/trunk/; revision=12573
2004-11-22 03:36:26 +00:00
Ronnie Sahlberg b1e1e18ad1 change Extension to be implemented inside the conformance file and remove it from the template
svn path=/trunk/; revision=12438
2004-10-30 02:36:58 +00:00
Ronnie Sahlberg 805f948c29 implement AlgorithmIdentifier using the conformance file and remove it from the template
svn path=/trunk/; revision=12437
2004-10-30 02:18:44 +00:00
Ronnie Sahlberg 43df272656 Use the much better #.REGISTER directive instead of the #.PDU directive
svn path=/trunk/; revision=12392
2004-10-26 13:04:09 +00:00
Guy Harris 4c9d419db3 Make the ber_sequence tables "const".
svn path=/trunk/; revision=12245
2004-10-08 20:28:04 +00:00
Guy Harris c11306933e Set svn:keywords to Id to expand RCS IDs, and set svn:eol-style to
native to canonicalize line endings.

svn path=/trunk/; revision=12203
2004-10-05 09:18:55 +00:00
Ronnie Sahlberg e712ef1582 update x509af to use machinegenerated _PDU() dissectors
svn path=/trunk/; revision=11990
2004-09-13 12:04:21 +00:00
Ronnie Sahlberg ce6804616e add some algorithm oid's to x509af(for the time being)
(only those that take no parameters for the time being)

create a dummy ber oid callback for callbacks that are NULL


svn path=/trunk/; revision=11565
2004-07-29 09:52:14 +00:00
Ronnie Sahlberg 4d09fc5e43 Add a lot of missing attribute dissectors
svn path=/trunk/; revision=11509
2004-07-24 22:53:27 +00:00
Ronnie Sahlberg 9d69ba5911 added the userCertificate and cAcertificate attributes
svn path=/trunk/; revision=11508
2004-07-24 22:30:49 +00:00
Ronnie Sahlberg 829a19a29b add dissection of the structure : Extension
svn path=/trunk/; revision=11507
2004-07-24 22:16:41 +00:00
Guy Harris 67f0f40bfa Include "packet-x509sat.h" to declare a function we use.
svn path=/trunk/; revision=11463
2004-07-21 19:23:18 +00:00