Beispiel #1
0
        public int Execute(CommandLineApplication cmd)
        {
            bool   showKey = _showKey.HasValue();
            string keyFile = _keyFile.Value;

            StrongNamePublicKey publicKey;

            try
            {
                publicKey = _keyLoader.LoadPublicKey(keyFile);
            }
            catch (Exception error)
            {
                cmd.Error.WriteLine("ERROR: {0}", error.Message);
                return(ExitCodes.FromException(error));
            }

            if (showKey)
            {
                cmd.Out.WriteLine("Public key (hash algorithm {0}) is:");
                cmd.Out.WriteLine(publicKey.CreatePublicKey().ToHexString());
                cmd.Out.WriteLine();
            }

            cmd.Out.WriteLine("Public key token is:");
            cmd.Out.WriteLine(publicKey.CreatePublicKeyToken().ToHexString());

            return(ExitCodes.Success);
        }
Beispiel #2
0
        public int Execute(CommandLineApplication cmd)
        {
            bool   delaySign       = _delaySign.HasValue();
            bool   force           = _force.HasValue();
            string keyFile         = _keyFile.Value;
            string assemblyFile    = _assemblyFile.Value;
            string outAssemblyFile = !string.IsNullOrEmpty(_outAssemblyFile.Value)
                ? _outAssemblyFile.Value
                : null;

            try
            {
                if (File.Exists(outAssemblyFile) && !force)
                {
                    throw new FileAlreadyExistsException(outAssemblyFile);
                }

                if (delaySign)
                {
                    StrongNamePublicKey publicKey = _keyLoader.LoadPublicKey(keyFile);
                    _signer.DelaySignAssembly(assemblyFile, publicKey, outAssemblyFile);
                }
                else
                {
                    StrongNameKey key = _keyLoader.LoadKey(keyFile);
                    _signer.SignAssembly(assemblyFile, key, outAssemblyFile);
                }
            }
            catch (Exception error)
            {
                cmd.Error.WriteLine("ERROR: {0}", error.Message);
                return(ExitCodes.FromException(error));
            }

            cmd.Out.WriteLine("Assembly '{0}' successfully signed.", outAssemblyFile);
            return(ExitCodes.Success);
        }