{"id":18322713,"url":"https://github.com/labs64/swid-generator","last_synced_at":"2025-10-11T19:02:17.167Z","repository":{"id":23953594,"uuid":"27335510","full_name":"Labs64/swid-generator","owner":"Labs64","description":"Generate SoftWare IDentification (SWID) Tags according to ISO/IEC 19770-2:2015","archived":false,"fork":false,"pushed_at":"2022-11-29T10:13:29.000Z","size":114,"stargazers_count":17,"open_issues_count":0,"forks_count":9,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-21T13:23:22.323Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://github.com/Labs64/swid-generator","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Labs64.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"custom":"https://www.paypal.me/labs64"}},"created_at":"2014-11-30T12:50:57.000Z","updated_at":"2023-08-19T05:51:17.000Z","dependencies_parsed_at":"2023-01-14T00:07:56.819Z","dependency_job_id":null,"html_url":"https://github.com/Labs64/swid-generator","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Labs64%2Fswid-generator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Labs64%2Fswid-generator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Labs64%2Fswid-generator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Labs64%2Fswid-generator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Labs64","download_url":"https://codeload.github.com/Labs64/swid-generator/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247415783,"owners_count":20935383,"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":[],"created_at":"2024-11-05T18:25:42.314Z","updated_at":"2025-10-11T19:02:12.117Z","avatar_url":"https://github.com/Labs64.png","language":"Java","funding_links":["https://www.paypal.me/labs64"],"categories":[],"sub_categories":[],"readme":"# SoftWare IDentification (SWID) Tags Generator (Java Library)\n\n[![Build Status](https://travis-ci.org/Labs64/swid-generator.svg)](https://travis-ci.org/Labs64/swid-generator)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/com.labs64.utils/swid-generator/badge.svg?style=flat)](https://maven-badges.herokuapp.com/maven-central/com.labs64.utils/swid-generator)\n[![Apache License 2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/Labs64/swid-generator/blob/master/LICENSE)\n\nGenerate SoftWare IDentification (SWID) Tags according to [ISO/IEC 19770-2:2015](https://www.iso.org/standard/65666.html)\n\n## What are SWID Tags?\n\nSoftWare IDentification (SWID) Tags record unique information about an installed software application, including its name, edition, version, whether it’s part of a bundle and more. SWID tags support software inventory and asset management initiatives. The structure of SWID tags is specified in international standard [ISO/IEC 19770-2:2015](https://www.iso.org/standard/65666.html).\n\n## Quick Start\n\nThe recommended way to get started using [`swid-generator`](https://maven-badges.herokuapp.com/maven-central/com.labs64.utils/swid-generator) in your project is by adding it as dependency in your build system:\n\nMaven:\n```xml\n\u003cdependencies\u003e\n  \u003cdependency\u003e\n    \u003cgroupId\u003ecom.labs64.utils\u003c/groupId\u003e\n    \u003cartifactId\u003eswid-generator\u003c/artifactId\u003e\n    \u003cversion\u003ex.y.z\u003c/version\u003e\n  \u003c/dependency\u003e\n\u003c/dependencies\u003e\n```\nGradle:\n```gradle\ndependencies {\n    compile 'com.labs64.utils:swid-generator:x.y.z'\n}\n```\n\n\n## Examples\n\nTo generate SoftWare IDentification (SWID) Tag ([gist](https://gist.github.com/henryean/df736f2e044c6222c3784edd02c1b91d)):\n```java\n// prepare SWID Tag processor\nDefaultSwidProcessor processor = new DefaultSwidProcessor();\nprocessor.setGenerator(new SequentialIdGenerator(0, 1, \"e\", null));\nprocessor.setName(\"NetLicensing\")\n        .setVersion(\"2.1.0\")\n        .setVersionScheme(VersionScheme.UNKNOWN)\n        .setSupplemental(true)\n        .addEntity(new EntityBuilder().name(\"Labs64\")\n                .role(\"softwareCreator\")\n                .role(\"softwareLicensor\")\n                .role(\"tagCreator\")\n                .build())\n        .addLink(new LinkBuilder().rel(\"supplemental\")\n                .href(\"swid:other-swid-tag\")\n                .build())\n        .addMetaData(new SoftwareMetaBuilder().description(\"This is what it's about\")\n                .entitlementDataRequired(true)\n                .revision(\"3\")\n                .build())\n        .addEvidence(new EvidenceBuilder()\n                .deviceId(\"123-a\")\n                .date(new Date())\n                .directoryOrFileOrProcess(new FileBuilder()\n                        .name(\"File.xml\")\n                        .size(BigInteger.TEN)\n                        .version(\"3\")\n                        .build())\n                .build())\n        .addPayload(new PayloadBuilder()\n                .directory(new DirectoryBuilder()\n                        .root(\"/data\")\n                        .key(true)\n                        .location(\"/folder\")\n                        .build())\n                .build());\n// create builder and pass processor as build param\nSwidBuilder builder = new SwidBuilder();\nSoftwareIdentity swidTag = builder.build(processor);\n// output resulting object\nSwidWriter writer = new SwidWriter();\nStringWriter out = new StringWriter();\nwriter.write(swidTag, out);\n\nSystem.out.println(out);\n```\n\n...this generates the following SoftWare IDentification (SWID) Tag:\n```xml\n\u003c?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?\u003e\n\u003cSoftwareIdentity name=\"NetLicensing\" supplemental=\"true\" tagId=\"e_1\" version=\"2.1.0\" versionScheme=\"unknown\" xmlns=\"http://standards.iso.org/iso/19770/-2/2014-DIS/schema.xsd\" xmlns:ns2=\"http://www.w3.org/2000/09/xmldsig#\"\u003e\n    \u003cEntity name=\"Labs64\" role=\"softwareCreator softwareLicensor tagCreator\"/\u003e\n    \u003cLink href=\"swid:other-swid-tag\" rel=\"supplemental\"/\u003e\n    \u003cMeta description=\"This is what it's about\" entitlementDataRequired=\"true\" revision=\"3\"/\u003e\n    \u003cEvidence date=\"2020-04-24Z\" xml:lang=\"123-a\"\u003e\n        \u003cFile name=\"File.xml\" size=\"10\" version=\"3\"/\u003e\n    \u003c/Evidence\u003e\n    \u003cPayload\u003e\n        \u003cDirectory key=\"true\" location=\"/folder\" root=\"/data\"/\u003e\n    \u003c/Payload\u003e\n\u003c/SoftwareIdentity\u003e\n```\n\n## Compatibility\n\nThis library requires J2SE 1.8 or newer. All dependencies handled by Maven.\n\n## Links\n- Spec: IT asset management — Part 2: Software Identification Tag: https://www.iso.org/standard/65666.html\n- SoftWare IDentification (SWID) Tags Generator (Maven Plugin): https://github.com/Labs64/swid-maven-plugin\n\n## Contributing\n\nFork the repository and make some changes. Once you're done with your changes send a pull request and check [CI validation status](https://travis-ci.org/Labs64/swid-generator).\nThanks!\n\n### Contributors and Supporters\n\nThank you to all the [contributors](https://github.com/Labs64/swid-generator/graphs/contributors) on this project. Your help is much appreciated!\n\n- [Labs64 NetLicensing](https://netlicensing.io) - Innovative *License Management* Solution\n- [GuideChimp](https://github.com/Labs64/GuideChimp) - A simple, lightweight, clean and small library for creating guided product tours for your web app.\n- [@henryean](https://github.com/henryean) - Upgrade library to the next specification version [ISO/IEC 19770-2:2015](https://www.iso.org/standard/65666.html)\n\n\n## Bugs and Feedback\n\nFor bugs, questions and discussions please use the [GitHub Issues](https://github.com/Labs64/swid-generator/issues).\n\n## License\n\nThis library is open-sourced software licensed under the [Apache License 2.0](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flabs64%2Fswid-generator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flabs64%2Fswid-generator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flabs64%2Fswid-generator/lists"}