Skip to content

OASIS TC Open Repository: A GitHub public repository for development of a java library to transform between data-interchange formats (such as JSON) and java language objects

License

Notifications You must be signed in to change notification settings

isabella232/openc2-lycan-java

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README

Lycan

Build Status Coverage Status

Lycan is an implementation of the OpenC2 OASIS standard for command and control messaging. The current implementation is based on the Language Specification v1.0.

Requirements

Java 1.8 or later. Jackson 2.9.9 or later.

Installation

Maven users

This repo is not currently in Maven Central so it requires users to manually build the repo and push the resulting jar to your local Maven repository.

Add this dependency to your project's POM:

<dependency>
	<groupId>org.oasis.openc2</groupId>
	<artifactId>lycan</artifactId>
	<version>1.0.0</version>
</dependency>

Others

You'll need to manually install the following JARs:

  • Lycan https://github.com/<location/to/latest>
  • Jackson core 2.9.9 or later
  • Jackson databind 2.9.9.2 or later
  • Jackson annotations 2.9.9 or later

Documentation

Please see the Java docs for the most up-to-date documentation.

Usage

--- Under Construction ---

LycanExample.java

import org.oasis.openc2.lycan.OpenC2Message;
import org.oasis.openc2.lycan.action.ActionType;
import org.oasis.openc2.lycan.target.DomainName;

public class LycanExample.java {

	public static void main(String[] args) {
		DomainName target = new DomainName("host.name.com");
		OpenC2Message message = new OpenC2Message(ActionType.QUERY, target);

		System.out.println(message.toJson());
		System.out.println(message.toPrettyJson());
	}
}

Built with

  • Maven - Dependency Management

Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

Authors

  • Blake Essing - Initial work - AT&T

This GitHub public repository ( https://github.com/oasis-open/openc2-lycan-java ) was created at the request of the OASIS Open Command and Control (OpenC2) TC as an OASIS TC Open Repository to support development of open source resources related to Technical Committee work.

While this TC Open Repository remains associated with the sponsor TC, its development priorities, leadership, intellectual property terms, participation rules, and other matters of governance are separate and distinct from the OASIS TC Process and related policies.

All contributions made to this TC Open Repository are subject to open source license terms expressed in the MIT License. That license was selected as the declared "Applicable License" when the TC Open Repository was created.

As documented in "Public Participation Invited", contributions to this OASIS TC Open Repository are invited from all parties, whether affiliated with OASIS or not. Participants must have a GitHub account, but no fees or OASIS membership obligations are required. Participation is expected to be consistent with the OASIS TC Open Repository Guidelines and Procedures, the open source LICENSE designated for this particular repository, and the requirement for an Individual Contributor License Agreement that governs intellectual property.

Statement of Purpose for this OASIS TC Open Repository (openc2-lycan-java) as proposed and approved [bis] by the TC:

The purpose of this OASIS TC Open repository is to develop and maintain a java implementation of OpenC2, and to provide a java codebase to facilitate other prototype efforts. The java library is designed to support transformations between data-interchange formats (such as JSON) and java language objects.

The OASIS OpenC2 Technical Committee was chartered to address matters as they pertain to command and control of cyber defense technologies, and to maintain a library of prototype implementations.

Repository Maintainers may include here any clarifications — any additional sections, subsections, and paragraphs that the Maintainer(s) wish to add as descriptive text, reflecting (sub-) project status, milestones, releases, modifications to statement of purpose, etc. The project Maintainers will create and maintain this content on behalf of the participants.

TC Open Repository Maintainers are responsible for oversight of this project's community development activities, including evaluation of GitHub pull requests and preserving open source principles of openness and fairness. Maintainers are recognized and trusted experts who serve to implement community goals and consensus design preferences.

Initially, the associated TC members have designated one or more persons to serve as Maintainer(s); subsequently, participating community members may select additional or substitute Maintainers, per consensus agreements.

Current Maintainers of this TC Open Repository

Questions or comments about this TC Open Repository's activities should be composed as GitHub issues or comments. If use of an issue/comment is not possible or appropriate, questions may be directed by email to the Maintainer(s) listed above. Please send general questions about TC Open Repository participation to OASIS Staff at repository-admin@oasis-open.org and any specific CLA-related questions to repository-cla@oasis-open.org.

About

OASIS TC Open Repository: A GitHub public repository for development of a java library to transform between data-interchange formats (such as JSON) and java language objects

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%