This class records information about a CCN principal. More...
Public Member Functions | |
PrincipalInfo (GroupAccessControlManager accessControlManager, ContentName publicKeyName) throws VersionMissingException, ContentEncodingException | |
Parse the principal info for a specified public key name. | |
PrincipalInfo (byte[] principalInfoNameComponent) | |
byte[] | toNameComponent () |
Principal names for links to wrapped key blocks take the form: {GROUP_PRINCIPAL_PREFIX | PRINCIPAL_PREFIX} COMPONENT_SEPARATOR distinguisingHash COMPONENT_SEPARATOR friendlName COMPONENT_SEPARATOR timestamp as 12-bit binary This allows a single enumeration of a wrapped key directory to determine not only which principals the keys are wrapped for, but also what versions of their private keys the keys are wrapped under (also determinable from the contents of the wrapped key blocks, but to do that you have to pull the wrapped key block). | |
boolean | isGroup () |
String | friendlyName () |
byte[] | distinguishingHash () |
CCNTime | versionTimestamp () |
String | toString () |
Static Public Member Functions | |
static boolean | isPrincipalNameComponent (byte[] nameComponent) |
Returns whether a specified name component is the name of a principal. | |
static byte[] | contentPrefixToDistinguishingHash (ContentName name) |
A first stab. | |
Static Public Attributes | |
static final int | DISTINGUISHING_HASH_LENGTH = 8 |
This class records information about a CCN principal.
This information includes:
We define a mapping between name components and principals: <TYPE_PREFIX>:<NAMESPACE_HASH>:<FRIENDLY_NAME>:<VERSION>
org.ccnx.ccn.profiles.security.access.group.GroupAccessControlProfile.PrincipalInfo.PrincipalInfo | ( | GroupAccessControlManager | accessControlManager, | |
ContentName | publicKeyName | |||
) | throws VersionMissingException, ContentEncodingException |
Parse the principal info for a specified public key name.
isGroup | whether the principal is a group | |
publicKeyName | the public key name |
VersionMissingException | ||
ContentEncodingException |
static byte [] org.ccnx.ccn.profiles.security.access.group.GroupAccessControlProfile.PrincipalInfo.contentPrefixToDistinguishingHash | ( | ContentName | name | ) | [static] |
A first stab.
ContentEncodingException |
static boolean org.ccnx.ccn.profiles.security.access.group.GroupAccessControlProfile.PrincipalInfo.isPrincipalNameComponent | ( | byte[] | nameComponent | ) | [static] |
Returns whether a specified name component is the name of a principal.
nameComponent | the name component |
byte [] org.ccnx.ccn.profiles.security.access.group.GroupAccessControlProfile.PrincipalInfo.toNameComponent | ( | ) |
Principal names for links to wrapped key blocks take the form: {GROUP_PRINCIPAL_PREFIX | PRINCIPAL_PREFIX} COMPONENT_SEPARATOR distinguisingHash COMPONENT_SEPARATOR friendlName COMPONENT_SEPARATOR timestamp as 12-bit binary This allows a single enumeration of a wrapped key directory to determine not only which principals the keys are wrapped for, but also what versions of their private keys the keys are wrapped under (also determinable from the contents of the wrapped key blocks, but to do that you have to pull the wrapped key block).
These serve as the name of a link to the actual wrapped key block.