RADLib
RADical C++ application framework
RADSecurity Namespace Reference

Classes

struct  CapabilitySet
 Linux capability state parsed from /proc status fields. More...
 
struct  SandboxProfile
 Declarative sandbox policy for reporting or future launcher integration. More...
 
class  Crypto
 Digest and signing primitives backed by OpenSSL. More...
 
struct  LicensePayload
 License payload covered by the RSA-SHA256 signature. More...
 
struct  LicenseCheckOptions
 Options applied while verifying a signed license. More...
 
struct  TrustedLicenseKey
 Public issuer key trusted for license verification. More...
 
struct  LicenseCheckResult
 Structured result from signed license verification. More...
 
class  LicenseManager
 Offline signed-license utilities for RADLib and RADLib applications. More...
 

Enumerations

enum class  LicenseKind {
  Unknown , Community , Evaluation , Academic ,
  SmallBusiness , Commercial , Partner , Internal
}
 License category encoded in signed RADLib/application license files. More...
 
enum class  LicenseStatus {
  Valid , Missing , ParseError , BadSignature ,
  UnknownIssuerKey , RevokedIssuerKey , NotYetValid , Expired ,
  ProductMismatch , VersionMismatch , MachineMismatch , LicenseeMismatch ,
  FeatureMissing
}
 Result code returned by license verification. More...
 

Functions

RADCore::RADResult< CapabilitySetreadCapabilitySet (const std::string &procStatusPath="/proc/self/status")
 Reads Linux process capabilities from procStatusPath. More...
 
RADCore::RADJsonValue sandboxProfileToJson (const SandboxProfile &profile)
 Serializes a sandbox profile to JSON for review or external launchers. More...
 
SandboxProfile sandboxProfileFromJson (const RADCore::RADJsonValue &value)
 Parses a sandbox profile from JSON. More...
 

Enumeration Type Documentation

◆ LicenseKind

License category encoded in signed RADLib/application license files.

Enumerator
Unknown 

License kind could not be parsed.

Community 

Community, personal, educational, evaluation, or non-commercial use.

Evaluation 

Time-limited trial or evaluation grant.

Academic 

Academic, research, or classroom grant.

SmallBusiness 

No-fee commercial use under the small-business thresholds.

Commercial 

Paid commercial license.

Partner 

Partner, reseller, integrator, or strategic free commercial grant.

Internal 

Internal Radical Computer Technologies development or testing grant.

◆ LicenseStatus

Result code returned by license verification.

Enumerator
Valid 

License is valid for the supplied check options.

Missing 

License file was missing or empty.

ParseError 

License JSON could not be parsed or had missing required fields.

BadSignature 

Signature is absent, malformed, or does not verify.

UnknownIssuerKey 

Signed license references an issuer key that is not trusted.

RevokedIssuerKey 

Signed license references an issuer key that has been revoked.

NotYetValid 

License is not valid yet.

Expired 

License has expired.

ProductMismatch 

License product does not match the requested product.

VersionMismatch 

License does not allow the requested major version.

MachineMismatch 

License is bound to a different machine fingerprint.

LicenseeMismatch 

License is validly signed but belongs to another licensee key.

FeatureMissing 

License does not grant the requested feature.

Function Documentation

◆ readCapabilitySet()

RADCore::RADResult<CapabilitySet> RADSecurity::readCapabilitySet ( const std::string &  procStatusPath = "/proc/self/status")

Reads Linux process capabilities from procStatusPath.

◆ sandboxProfileFromJson()

SandboxProfile RADSecurity::sandboxProfileFromJson ( const RADCore::RADJsonValue value)

Parses a sandbox profile from JSON.

◆ sandboxProfileToJson()

RADCore::RADJsonValue RADSecurity::sandboxProfileToJson ( const SandboxProfile profile)

Serializes a sandbox profile to JSON for review or external launchers.