<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        
        
        <!-- This is broken by doc revisioning.
        <link rel="canonical" href="http://mynewt.apache.org/newt/command_list/newt_resign_image/"> -->
        <link rel="shortcut icon" href="../../../img/favicon.ico">

	    <title>newt resign-image - Apache Mynewt</title>

        <link href="../../../css/bootstrap-3.0.3.min.css" rel="stylesheet">
        <link rel="stylesheet" href="../../../css/highlight.css">
        <link href="../../../css/base.css" rel="stylesheet">
        <link href="../../../css/custom.css" rel="stylesheet">
        <link href="../../../css/v2.css" rel="stylesheet">
        <link href="https://fonts.googleapis.com/css?family=Lato" rel="stylesheet">
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.5.0/css/font-awesome.min.css">
        <link href="../../../extra.css" rel="stylesheet">

        <!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
        <!--[if lt IE 9]>
            <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
            <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
        <![endif]-->

        
            <script>
            (function(i, s, o, g, r, a, m) {
    i["GoogleAnalyticsObject"] = r;
    (i[r] =
        i[r] ||
        function() {
            (i[r].q = i[r].q || []).push(arguments);
        }),
        (i[r].l = 1 * new Date());
    (a = s.createElement(o)), (m = s.getElementsByTagName(o)[0]);
    a.async = 1;
    a.src = g;
    m.parentNode.insertBefore(a, m);
})(window, document, "script", "//www.google-analytics.com/analytics.js", "ga");

ga("create", "UA-72162311-1", "auto");
ga("send", "pageview");
</script>
        
    </head>


    <body class="newt resign-image">


        <div class="container">
    <div class="row v2-main-banner">
        <a class="logo-cell" href="/">
            <img class="logo" src="/img/logo.png">
        </a>
        <div class="tagline-cell">
            <h4 class="tagline">An OS to build, deploy and securely manage billions of devices</h4>
        </div>
        <div class="news-cell">
            <div class="well">
                <h4>Latest News:</h4> <a href="/download">Apache Mynewt 1.5.0 </a> released (Nov 5, 2018)
            </div>
        </div>
    </div>
</div>

        






<nav id="navbar" class="navbar navbar-inverse affix-top" data-spy="affix" data-offset-top="150" role="navigation">
    <div class="container">
        <!-- Collapsed navigation -->
        <div class="navbar-header">
            <!-- Expander button -->
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
                <span class="sr-only">Toggle navigation</span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </button>

        </div>

        <!-- Expanded navigation -->
        <div class="navbar-collapse collapse">
            <!-- Main navigation -->
            <ul class="nav navbar-nav navbar-right">
                <li 
  class=""
>
                    <a href="/"><i class="fa fa-home" style="font-size: larger;"></i></a>
                </li>
                <li 
  class="important"
>
                    <a href="/quick-start/">Quick Start</a>
                </li>
                <li 
  class=""
>
                    <a href="/about/">About</a>
                </li>
                <li 
  class=""
>
                    <a href="/talks/">Talks</a>
                </li>
                <li 
  class="active"
>
                    <a href="/documentation/">Documentation</a>
                </li>
                <li 
  class=""
>
                    <a href="/download/">Download</a>
                </li>
                <li 
  class=""
>
                    <a href="/community/">Community</a>
                </li>
                <li 
  class=""
>
                    <a href="/events/">Events</a>
                </li>
            </ul>

        </div>
    </div>
</nav>

        

        <div class="container">
            
                <div class="row">
                    <div class="col-md-3 v2-sidebar sidebar-container"><div id="docSidebar" class="hidden-print" role="complementary">
    <div class="top">
        <div role="search">
            <form id="rtd-search-form" class="wy-form" action="../../../search.html" method="get">
                <div class="form-group">
                    <input type="text" name="q" class="form-control" placeholder="Search documentation" />
                </div>
            </form>
        </div>
    </div>
    <ul class="toc-nav">
      <li class="doc-version"><select class="form-control" onchange="if (this.value) window.location.href=this.value">
  <option value="/latest">
    Version: master
  </option>
  <option value="/v1_4_0">
    Version: 1.4.0
  </option>
  <option value="/v1_3_0/os/introduction" >
    Version: 1.3.0
  </option>
  <option value="/v1_2_0/os/introduction" selected="selected" >
    Version: 1.2.0
  </option>
  <option value="/v1_1_0/os/introduction" >
    Version: 1.1.0
  </option>
  <option value="/v1_0_0/os/introduction" >
    Version: 1.0.0
  </option>
  <option value="/v0_9_0/os/introduction" >
    Version: 0.9.0
  </option>
</select></li>
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
      
        
          
  
  
    <li ><a href="../../../os/introduction/">Mynewt Documentation</a>
  
  
    <ul>
          
              
          
              
                
  
  
    <li ><a href="../../../os/get_started/get_started/">Basic Setup</a>
  
  
    </li>

              
          
              
                
    <li >
      <a href="../../../os/get_started/vocabulary/">Concepts</a>
    </li>

              
          
              
                
  
  
    <li ><a href="../../../os/tutorials/tutorials/">Tutorials</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../os/os_user_guide/">OS User Guide</a>
  
  
    </li>

              
          
              
                
  
  
    <li><a href="
  ../../../network/ble/ble_intro/
">BLE User Guide</a>
  
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../newt_intro/">Newt Tool Guide</a>
  
  
    <ul>
          
              
          
              
                
    <li >
      <a href="../../newt_operation/">Newt Theory of Ops</a>
    </li>

              
          
              
                
  
  
    <li ><a href="../../newt_ops/">Command Guide</a>
  
  
    <ul>
          
              
          
              
                
    <li >
      <a href="../newt_build/">newt build</a>
    </li>

              
          
              
                
    <li >
      <a href="../newt_clean/">newt clean</a>
    </li>

              
          
              
                
    <li >
      <a href="../newt_create_image/">newt create-image</a>
    </li>

              
          
              
                
    <li >
      <a href="../newt_debug/">newt debug</a>
    </li>

              
          
              
                
    <li >
      <a href="../newt_help/">newt help</a>
    </li>

              
          
              
                
    <li >
      <a href="../newt_info/">newt info</a>
    </li>

              
          
              
                
    <li >
      <a href="../newt_install/">newt install</a>
    </li>

              
          
              
                
    <li >
      <a href="../newt_load/">newt load</a>
    </li>

              
          
              
                
    <li >
      <a href="../newt_mfg/">newt mfg</a>
    </li>

              
          
              
                
    <li >
      <a href="../newt_new/">newt new</a>
    </li>

              
          
              
                
    <li >
      <a href="../newt_pkg/">newt pkg</a>
    </li>

              
          
              
                
    <li class="active">
      <a href="./">newt resign-image</a>
    </li>

              
          
              
                
    <li >
      <a href="../newt_run/">newt run</a>
    </li>

              
          
              
                
    <li >
      <a href="../newt_size/">newt size</a>
    </li>

              
          
              
                
    <li >
      <a href="../newt_sync/">newt sync</a>
    </li>

              
          
              
                
    <li >
      <a href="../newt_target/">newt target</a>
    </li>

              
          
              
                
    <li >
      <a href="../newt_test/">newt test</a>
    </li>

              
          
              
                
    <li >
      <a href="../newt_upgrade/">newt upgrade</a>
    </li>

              
          
              
                
    <li >
      <a href="../newt_vals/">newt vals</a>
    </li>

              
          
              
                
    <li >
      <a href="../newt_version/">newt version</a>
    </li>

              
          
    </ul>
  
    </li>

              
          
    </ul>
  
    </li>

              
          
              
                
  
  
    <li ><a href="../../../newtmgr/overview/">Newt Manager Guide</a>
  
  
    </li>

              
          
              
                
    <li >
      <a href="../../../known_issues/">Known Issues</a>
    </li>

              
          
    </ul>
  
    </li>

        
      
        
          
  
  
    <li><a href="
  ../../install/prev_releases/
">Appendix</a>
  
  
    </li>

        
      
    </ul>
</div></div>

                    <div class="col-md-9" role="main">
                        <div class="doc-header">
                            <div role="navigation" aria-label="breadcrumbs navigation">
  <ul class="wy-breadcrumbs">
    <li><a href="/documentation/">Docs</a></li>
    
    
        
          <li>&raquo; <a href="../../newt_intro/">Newt Tool Guide</a></li>
        
      
        
          <li>&raquo; <a href="../../newt_ops/">Command Guide</a></li>
        
      
      
        <li>&raquo; newt resign-image</li>
      
    
    
      <li class="wy-breadcrumbs-aside">
        
          <a href="https://github.com/apache/mynewt-site/blob/master/docs/newt/command_list/newt_resign_image.md"
            class="icon icon-github"> Edit on GitHub</a>
        
      </li>
    
  </ul>
</div>
                        </div>
                        
                          
                        
                          
                        
                          
                        
                          
                        
                          
                            <div class="alert alert-warning">
                                <p>
                                    Version 1.2.0 is not the most recent version of the Apache Mynewt
                                    documentation. Click <a href="/latest">here</a> to read the latest
                                    version.
                                </p>
                            </div>
                          
                        
                        
                            <h2 id="newt-resign-image"><font color="#F2853F" style="font-size:24pt">newt resign-image </font></h2>
<p>Sign or re-sign an existing image file.</p>
<h4 id="usage">Usage:</h4>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span></span>    newt resign-image &lt;image-file&gt; [signing-key [key-id]][flags]
</pre></div>


<h4 id="global-flags">Global Flags:</h4>
<div class="codehilite" style="background: #ffffff"><pre style="line-height: 125%"><span></span>    -h, --help              Help for newt commands
    -j, --jobs int          Number of concurrent build jobs (default 8)
    -l, --loglevel string   Log level (default &quot;WARN&quot;)
    -o, --outfile string    Filename to tee output to
    -q, --quiet             Be quiet; only display error output
    -s, --silent            Be silent; don&#39;t output anything
    -v, --verbose           Enable verbose output when executing commands
</pre></div>


<h4 id="description">Description</h4>
<p>Changes the signature of an existing image file. To sign an image, specify a .pem file for the <code>signing-key</code> and an optional <code>key-id</code>. <code>key-id</code> must be a value between 0-255. If a signing key is not specified, the command strips the current signature from the image file.</p>
<p>A new image header is created.  The rest of the image is byte-for-byte equivilent to the original image.  </p>
<p>Warning: The image hash will change if you change the key-id or the type of key used for signing.</p>
<h4 id="examples">Examples</h4>
<table>
<thead>
<tr>
<th>Sub-command</th>
<th>Usage</th>
<th>Explanation</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td>newt resign-image bin/targets/myble/app/apps/bletiny/bletiny.img private.pem</td>
<td>Signs the <code>bin/targets/myble/app/apps/bletiny/bletiny.img</code> file with   the private.pem key.</td>
</tr>
<tr>
<td></td>
<td>newt resign-image bin/targets/myble/app/apps/bletiny/bletiny.img</td>
<td>Strips the current signature from <code>bin/targets/myble/app/apps/bletiny/bletiny.img</code> file.</td>
</tr>
</tbody>
</table>
                        
                        <div class="row">
                            



<ul class="nav nav-pills" style="margin-bottom: 10px">
    <li>
    
    <a href=../newt_pkg/>
        <span class="fa fa-arrow-left"></span>
        Previous: newt pkg
    </a>
    
    </li>
    <li class="pull-right">
    
    <a href=../newt_run/>
        Next: newt run
        <span class="fa fa-arrow-right"></span>
    </a>
    
    </li>
</ul>
                        </div>
                        <footer class="row">
    <div class="col-xs-12">
        
            <p class="copyright">Apache Mynewt is available under Apache License, version 2.0.</p>
        
    </div>
    <div class="col-xs-12">
        <div class="logos">
            <img src="/img/asf_logo_wide_small.png" alt="Apache" title="Apache">
            <small class="footnote">
            Apache Mynewt, Mynewt, Apache, the Apache feather logo, and the Apache Mynewt project logo are either registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries.
            </small>
             <a href="https://join.slack.com/mynewt/shared_invite/MTkwMTg1ODM1NTg5LTE0OTYxNzQ4NzQtZTU1YmNhYjhkMg">
                <img src="/img/add_to_slack.png" alt="Slack Icon" title="Join our Slack Community" />
             </a>
        </div>
    </div>
</footer>
                    </div>
                </div>
            
            
        </div>

        <script src="../../../js/jquery-1.10.2.min.js"></script>
        <script src="../../../js/bootstrap-3.0.3.min.js"></script>
        <script src="../../../js/highlight.pack.js"></script>
        <script src="../../../js/base.js"></script>
        <script src="../../../js/custom.js"></script>

    </body>
</html>