Example #1
0
        private Result SetNcaExternalKey(Nca nca)
        {
            var rightsId = new RightsId(nca.Header.RightsId);
            var zero     = new RightsId(0, 0);

            if (Crypto.CryptoUtil.IsSameBytes(rightsId.AsBytes(), zero.AsBytes(), Unsafe.SizeOf <RightsId>()))
            {
                return(Result.Success);
            }

            // ReSharper disable once UnusedVariable
            Result rc = ExternalKeys.Get(rightsId, out AccessKey accessKey);

            if (rc.IsFailure())
            {
                return(rc);
            }

            // todo: Set key in nca reader

            return(Result.Success);
        }
Example #2
0
        public Result UnregisterExternalKey(ref RightsId rightsId)
        {
            ExternalKeys.Remove(rightsId);

            return(Result.Success);
        }
Example #3
0
 public Result RegisterExternalKey(ref RightsId rightsId, ref AccessKey externalKey)
 {
     return(ExternalKeys.Add(rightsId, externalKey));
 }