
craterdog.identities.Identification Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of java-digital-identities Show documentation
Show all versions of java-digital-identities Show documentation
This project defines a set of interfaces and classes that implement digital identities.
/************************************************************************
* Copyright (c) Crater Dog Technologies(TM). All Rights Reserved. *
************************************************************************
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. *
* *
* This code is free software; you can redistribute it and/or modify it *
* under the terms of The MIT License (MIT), as published by the Open *
* Source Initiative. (See http://opensource.org/licenses/MIT) *
************************************************************************/
package craterdog.identities;
import craterdog.notary.NotaryCertificate;
import craterdog.notary.NotaryKey;
import java.util.Map;
/**
* This interface defines the methods supported by digital identity management services. A
* person or entity may create a digital identity by generating a new notary key and using the
* private signing key to sign the identity information. The identity information and the public
* certificate containing the verification key are available to the public. Anyone can retrieve
* the public certificate for the identity and use it to verify documents that were signed by the
* identity.
*
* @author Derk Norton
*/
public interface Identification {
/**
* This method creates a new digital identity for a person or entity. The identity attributes
* are digitally signed using the specified initial notary key.
*
* @param notaryKey The notary key to be used to sign the identity attributes.
* @return The new digital identity.
*/
DigitalIdentity createIdentity(NotaryKey notaryKey);
/**
* This method creates a new digital identity for a person or entity. The identity attributes
* are digitally signed using the specified initial notary key.
*
* @param additionalAttributes Any additional attributes about the identity.
* @param notaryKey The notary key to be used to sign the identity attributes.
* @return The new digital identity.
*/
DigitalIdentity createIdentity(Map additionalAttributes, NotaryKey notaryKey);
/**
* This method validates the attributes and seals for a digital identity.
*
* @param identity The digital identity to be validated.
* @param certificate The certificate for the key that was used to notarize the identity.
* @param errors A map containing any errors that were found.
*/
void validateIdentity(DigitalIdentity identity, NotaryCertificate certificate, Map errors);
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy