org.ccnx.ccn.profiles.security.access.group.GroupAccessControlProfile Class Reference
This is a sub-Profile of AccessControlProfile defining naming conventions used in a group-based access control scheme (where one can create Groups of users and other groups, and give rights to nametrees based on group membership).
More...
List of all members.
Detailed Description
This is a sub-Profile of AccessControlProfile defining naming conventions used in a group-based access control scheme (where one can create Groups of users and other groups, and give rights to nametrees based on group membership).
For descriptions of data, and how this access control system functions, see the separate CCNx Access Control Specifications Document.
This class specifies how a number of access control elements are named:
- users, and their keys
- groups, and their keys
- access control lists (ACLs)
- node keys, and their encryption under ACL member keys
- if used, markers indicating where to find ACLs/node keys
Member Function Documentation
static ContentName org.ccnx.ccn.profiles.security.access.group.GroupAccessControlProfile.aclName |
( |
ContentName |
nodeName |
) |
[static] |
Get the name of the access control list (ACL) for a given content node.
This is nodeName/<access marker>="">/ACL.
- Parameters:
-
| nodeName | the name of the content node |
- Returns:
- the name of the corresponding ACL
static ContentName org.ccnx.ccn.profiles.security.access.group.GroupAccessControlProfile.groupMembershipListName |
( |
ParameterizedName |
groupNamespaceName, |
|
|
String |
groupFriendlyName | |
|
) |
| | [static] |
Get the name of a group membership list for a specified group.
- Parameters:
-
| groupNamespaceName | the namespace of the group |
| groupFriendlyName | the name of the group |
- Returns:
- the name of the group membership list
static ContentName org.ccnx.ccn.profiles.security.access.group.GroupAccessControlProfile.groupName |
( |
ContentName |
namespace, |
|
|
String |
groupFriendlyName | |
|
) |
| | [static] |
Get the name of the namespace for a specified group.
- Parameters:
-
| namespace | the top-level namespace |
| groupFriendlyName | the name of the group |
- Returns:
- the name of the namespace for the group
static ContentName org.ccnx.ccn.profiles.security.access.group.GroupAccessControlProfile.groupNamespaceName |
( |
ContentName |
namespace |
) |
[static] |
Get the name of the group namespace.
This assumes a top-level namespace, where the group information is stored in namespace/Groups and namespace/Users..
- Parameters:
-
| namespace | the top-level name space |
- Returns:
- the name of the group namespace
static String org.ccnx.ccn.profiles.security.access.group.GroupAccessControlProfile.groupNameToFriendlyName |
( |
ContentName |
groupName |
) |
[static] |
Get the friendly name of a specified group.
- Parameters:
-
| groupName | the full name of the group |
- Returns:
- the friendly name of the group
static ContentName org.ccnx.ccn.profiles.security.access.group.GroupAccessControlProfile.groupPrivateKeyBlockName |
( |
ContentName |
groupPublicKeyNameAndVersion |
) |
[static] |
Get the name of the private key block in a group private key directory, without version; useful for checking cache status.
- Parameters:
-
- Returns:
static ContentName org.ccnx.ccn.profiles.security.access.group.GroupAccessControlProfile.groupPrivateKeyDirectory |
( |
ContentName |
groupPublicKeyNameAndVersion |
) |
[static] |
Get the name of a group private key key directory (containing the encrypted key blocks).
We hang the wrapped private key directly off the public key version.
- Parameters:
-
| groupPublicKeyNameAndVersion | the versioned name of the group public key |
- Returns:
- the versioned name of the group private key
Get the name of the public key of a group specified by its full name.
- Parameters:
-
| groupFullName | the full name of the group |
- Returns:
- the name of the group public key
static ContentName org.ccnx.ccn.profiles.security.access.group.GroupAccessControlProfile.groupPublicKeyName |
( |
ParameterizedName |
groupStorage, |
|
|
String |
groupFriendlyName | |
|
) |
| | [static] |
Get the name of a group public key.
This is the unversioned root. The actual public key is stored at the latest version of this name. The private key and decoding blocks are stored under that version, with the segments of the group public key.
- Parameters:
-
| groupNamespaceName | the namespace of the group |
| groupFriendlyName | the name of the group |
- Returns:
- the name of the group public key
static boolean org.ccnx.ccn.profiles.security.access.group.GroupAccessControlProfile.isNodeKeyName |
( |
ContentName |
name |
) |
[static] |
Returns whether the specified name is the name of a node key.
- Parameters:
-
- Returns:
static ContentName org.ccnx.ccn.profiles.security.access.group.GroupAccessControlProfile.nodeKeyName |
( |
ContentName |
nodeName |
) |
[static] |
Get the name of the node key for a given content node, if there is one.
This is nodeName/<access marker>="">/NK, with a version then added for a specific node key.
- Parameters:
-
| nodeName | the name of the content node |
- Returns:
- the name of the corresponding node key
static ContentName org.ccnx.ccn.profiles.security.access.group.GroupAccessControlProfile.userNamespaceName |
( |
ContentName |
userNamespace, |
|
|
String |
userName | |
|
) |
| | [static] |
Get the name of the namespace for a specified user.
- Parameters:
-
| userNamespace | the name of the user namespace |
| userName | the user name |
- Returns:
- the name of the namespace for the user
static ContentName org.ccnx.ccn.profiles.security.access.group.GroupAccessControlProfile.userNamespaceName |
( |
ContentName |
namespace |
) |
[static] |
Get the name of the user namespace.
This assumes a top-level namespace, where the group information is stored in namespace/Groups and namespace/Users..
- Parameters:
-
| namespace | the top-level name space |
- Returns:
- the name of the user namespace
The documentation for this class was generated from the following file:
- src/org/ccnx/ccn/profiles/security/access/group/GroupAccessControlProfile.java