{"id":18894163,"url":"https://github.com/trailofbits/dkim-query","last_synced_at":"2025-04-15T00:31:58.638Z","repository":{"id":23567304,"uuid":"26935044","full_name":"trailofbits/dkim-query","owner":"trailofbits","description":"Ruby DKIM Parser","archived":false,"fork":false,"pushed_at":"2023-09-12T16:40:40.000Z","size":74,"stargazers_count":18,"open_issues_count":5,"forks_count":7,"subscribers_count":38,"default_branch":"master","last_synced_at":"2024-05-01T22:03:45.953Z","etag":null,"topics":["dkim","dns","email"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/trailofbits.png","metadata":{"files":{"readme":"README.md","changelog":"ChangeLog.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-11-20T22:30:54.000Z","updated_at":"2024-01-21T23:01:13.000Z","dependencies_parsed_at":"2024-09-13T03:25:56.208Z","dependency_job_id":null,"html_url":"https://github.com/trailofbits/dkim-query","commit_stats":{"total_commits":111,"total_committers":6,"mean_commits":18.5,"dds":"0.22522522522522526","last_synced_commit":"f163ff1e2501709be04655bfb354e00cfe35072d"},"previous_names":["trailofbits/dkim_parse"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fdkim-query","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fdkim-query/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fdkim-query/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/trailofbits%2Fdkim-query/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/trailofbits","download_url":"https://codeload.github.com/trailofbits/dkim-query/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248984402,"owners_count":21193742,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dkim","dns","email"],"created_at":"2024-11-08T08:19:06.411Z","updated_at":"2025-04-15T00:31:57.051Z","avatar_url":"https://github.com/trailofbits.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# dkim-query\n\n[![Code Climate](https://codeclimate.com/github/trailofbits/dkim-query/badges/gpa.svg)](https://codeclimate.com/github/trailofbits/dkim-query)\n[![Test Coverage](https://codeclimate.com/github/trailofbits/dkim-query/badges/coverage.svg)](https://codeclimate.com/github/trailofbits/dkim-query)\n[![Build Status](https://travis-ci.org/trailofbits/dkim-query.svg)](https://travis-ci.org/trailofbits/dkim-query)\n\nThe `dkim-query` library searches the [DKIM] records for a host. We assume the\nhost uses standard dkim 'selectors', and also check if they use their own\n'selector'.\n\n## Examples\n\nParse a DKIM record:\n\n    require 'dkim/query'\n\n    key = DKIM::Query::Key.parse(\"k=rsa;  p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDrEee0Ri4Juz+QfiWYui/E9UGSXau/2P8LjnTD8V4Unn+2FAZVGE3kL23bzeoULYv4PeleB3gfmJiDJOKU3Ns5L4KJAUUHjFwDebt0NP+sBK0VKeTATL2Yr/S3bT/xhy+1xtj4RkdV7fVxTn56Lb4udUnwuxK4V5b5PdOKj/+XcwIDAQAB; n=A 1024 bit key\")\n    \n    key.v\n    # =\u003e nil\n\n    key.g\n    # =\u003e nil\n\n    key.h\n    # =\u003e nil\n\n    key.k\n    # =\u003e :rsa\n\n    key.n\n    # =\u003e \"A 1024 bit key\"\n\n    key.p\n    # =\u003e \"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDrEee0Ri4Juz+QfiWYui/E9UGSXau/2P8LjnTD8V4Unn+2FAZVGE3kL23bzeoULYv4PeleB3gfmJiDJOKU3Ns5L4KJAUUHjFwDebt0NP+sBK0VKeTATL2Yr/S3bT/xhy+1xtj4RkdV7fVxTn56Lb4udUnwuxK4V5b5PdOKj/+XcwIDAQAB\"\n\n    key.s\n    # =\u003e nil\n\n    key.t\n    # =\u003e nil\n\nQuery all keys for a domain:\n\n    domain = DKIM::Query::Domain.query('yahoo.com')\n    # =\u003e #\u003cDKIM::Query::Domain:0x0000000315c950 @name=\"yahoo.com\", @keys={\"s1024\"=\u003e#\u003cDKIM::Query::Key:0x0000000315c9f0 @v=nil, @g=nil, @h=nil, @k=:rsa, @n=\"A 1024 bit key;\", @p=\"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDrEee0Ri4Juz+QfiWYui/E9UGSXau/2P8LjnTD8V4Unn+2FAZVGE3kL23bzeoULYv4PeleB3gfmJiDJOKU3Ns5L4KJAUUHjFwDebt0NP+sBK0VKeTATL2Yr/S3bT/xhy+1xtj4RkdV7fVxTn56Lb4udUnwuxK4V5b5PdOKj/+XcwIDAQAB\", @s=nil, @t=nil\u003e}\u003e\n\n    domain['s1024']\n    # =\u003e #\u003cDKIM::Query::Key:0x0000000315c9f0 @v=nil, @g=nil, @h=nil, @k=:rsa, @n=\"A 1024 bit key;\", @p=\"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDrEee0Ri4Juz+QfiWYui/E9UGSXau/2P8LjnTD8V4Unn+2FAZVGE3kL23bzeoULYv4PeleB3gfmJiDJOKU3Ns5L4KJAUUHjFwDebt0NP+sBK0VKeTATL2Yr/S3bT/xhy+1xtj4RkdV7fVxTn56Lb4udUnwuxK4V5b5PdOKj/+XcwIDAQAB\", @s=nil, @t=nil\u003e\n\n    domain.each do |key|\n      # ...\n    end\n\n## Synopsis\n\nQuery a domain:\n\n    dkim-query google.com\n    ____________________________\n    DKIM record search for google.com\n      - using selectors: [\"default\", \"dkim\", \"google\"]\n      - no DKIM record found for google.com\n    ____________________________\n\n\nQuery multiple domains:\n\n    dkim-query trailofbits.com facebook.com yahoo.com\n    ____________________________\n    DKIM record search for trailofbits.com\n      - using selectors: [\"default\", \"dkim\", \"google\", \"trailofbits\"]\n      - found DKIM record for trailofbits.com at trailofbits._domainkey.trailofbits.com:\n      v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCwe04g1hSR55ACcRiLAg0MoEiY5BBviJHJHq/d9r6o+F50fa1TrNNulwKXaST+WCEcW6D2KZ+dt9JvgB9ApIEAFCzHRXhawga0GsfDkOllvpXgT95IPcnYrSkM+rJSbaqHh+YI5sV9sKnvzZDVmB7l5gU3yD74aDmjs9wSg8RC5wIDAQAB\n    ____________________________\n    \n    ____________________________\n    DKIM record search for facebook.com\n      - using selectors: [\"default\", \"dkim\", \"google\", \"facebook\"]\n      - found DKIM record for facebook.com at default._domainkey.facebook.com:\n      t=y; k=rsa; p=MHwwDQYJKoZIhvcNAQEBBQADawAwaAJhALkZ4wTn2SQ3EW0vVBExi8izmZZnjZH8JIY5Y964jzDORZku43o6ooFq6HLMjBxmcDYOrJFRdcsKDWtI0Be/uLfc/rClXuyEbcENXfadg77HHv35BI85RNy4TKeai3hxoQIDAQAB;\n    ____________________________\n    \n    ____________________________\n    DKIM record search for yahoo.com\n      - using selectors: [\"default\", \"dkim\", \"google\", \"yahoo\"]\n      - no DKIM record found for yahoo.com\n    ____________________________\n\n## Requirements\n\n* [ruby] \u003e= 1.9.1\n* [parslet] ~\u003e 1.6\n\n## Install\n\n    $ gem install dkim-query\n\n## License\n\nSee the {file:LICENSE.txt} file.\n\n[DKIM]: https://tools.ietf.org/html/rfc6376\n[ruby]: https://www.ruby-lang.org/\n[parslet]: http://kschiess.github.io/parslet/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrailofbits%2Fdkim-query","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftrailofbits%2Fdkim-query","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftrailofbits%2Fdkim-query/lists"}