/// <summary>
        /// Generates a unique signature for this module.
        /// </summary>
        /// <param name="privateKey">The private key that only the developer of this module should know.</param>
        /// <returns>Returns whether or not the signature of the module was successfully generated.</returns>
        public bool GenerateSignature(byte[] privateKey)
        {
            this.PublicKey = Signing.GetPublicKey(privateKey);
            this.Signature = Signing.GenerateSignature(this.CompiledCode, privateKey);

            return(this.Signature != null);
        }
        public bool GenerateSignature(byte[] privateKey)
        {
            this.PublicKey = Signing.GetPublicKey(privateKey);

            if (this.CompiledCode == null)
            {
                throw new Exception("Compiled code is null for page: " + this.ID);
            }

            this.Signature = Signing.GenerateSignature(this.CompiledCode, privateKey);
            return(this.Signature != null);
        }