<!doctype html>
<html class="no-js" lang="en" dir="ltr">
  <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">
    <title>Code signing service now available - Apache Infrastructure Website</title>
    <link rel="stylesheet" href="/css/foundation.css">
    <link rel="stylesheet" href="/css/app.css">
    <link rel="stylesheet" href="/css/font-awesome.min.css">
    <style type="text/css">
      .frontbox {
        border-radius: 8%;
        border: 1px solid #999; background: #444; color: #EEE; padding: 6px; margin: 3px;
      }
      .frontbox:hover {
        border-top: 4px solid #1583CC;
        margin-top: 0px;
        cursor: pointer;
      }
      .clickable {
	/* height was reduced by 40% */	
	height: 60%;
        width: 30%;
        position: absolute;     
        z-index: 1;
      }
    </style>
    <link rel="stylesheet"
          href="/highlight/default.min.css">
    <script src="/highlight/highlight.min.js"></script>  </head>
  <body style="background: #C1C1C1;">
    <!-- Menu bar --->
    <div class="row">
      <div class="top-bar" style="padding: 0; margin-bottom: 10px; background: #222; border: 1px solid #DDD; border-bottom-right-radius: 4px; border-bottom-left-radius: 4px;">
        <div class="hide-for-small-only">
          <div class="top-bar-left">
            <ul class="menu" style="background: #222; padding: 0px; line-height: 1; border-bottom-left-radius: 4px;">
              <li class="notable-logo"><a href="/" target="_self" style="padding: 3px; padding-left: 7px;">
                <img style="vertical-align: middle;" src='/images/feather.png' width='18'/><span style="font-size: 1.30rem; color: #1583CC; text-transform: uppercase;">Apache Infrastructure</span></a>
              </li>
            </ul>
          </div>
          <div class="top-bar-right">
            <ul class="dropdown menu horizontal" data-dropdown-menu style="background: #222; font-size: 0.8rem; text-transform: uppercase; padding-top: 5px;">
              <li class="is-dropdown-submenu-parent">
                <a href="#" target="_self" style="padding-left: 7px;">About</a>
                <ul class="menu" style="background: #222; font-size: 0.7rem; text-transform: uppercase; padding-top: 5px; margin-top: 5px;">
                  <li><a href="/team.html">About the team</a></li>
		  <li><a href="https://blogs.apache.org/infra/" target="_blank">The Infra Blog</a></li>	
	          
                </ul>
              </li>
              <li><a href="/policies.html" target="_blank" style="padding-left: 5px;">Policies</a></li>
                           
              <li class="is-dropdown-submenu-parent">
                 <a href="#" target="_self" style="padding-left: 0px;">Services-Tools</a>
                <ul class="menu" style="background: #222; font-size: 0.7rem; text-transform: uppercase; padding-top: 5px; margin-top: 5px;">
		<li><a href="/services.html">Services and Tools</a></li>
                <li><a href="/machines.html" target="_blank" >Machines and Fingerprints</a></li>
                <li><a href="https://blocky.apache.org" target="_blank" >Blocky</a></li>
		<li><a href="https://app.datadoghq.com/account/login?next=%2Finfrastructure" target="_blank" >DataDog</a></li>
		<li><a href="https://whimsy.apache.org/roster/committer/" target="_blank" >Committer Search</a></li>
		
                </ul>
              </li>
              <li><a href="/doc.html" target="_blank" style="padding-left: 5px;">Documentation</a></li>
	       <li class="is-dropdown-submenu-parent">
                 <a href="#" target="_self" style="padding-left: 0px;">Contribute</a>
                <ul class="menu" style="background: #222; font-size: 0.7rem; text-transform: uppercase; padding-top: 5px; margin-top: 5px;">	
		   <li><a href="/infra-volunteer.html">Volunteer with Infra</a></li>
		   <li><a href="/how-to-mirror.html">Become an ASF download mirror</a></li>
			<li><a href="/hosting-external-agent.html">Host a Jenkins or Buildbot agent</a></li>
		 </ul>
	       </li>
	      
              <li><a href="/stats.html" target="_blank" style="padding-left: 5px;">Status</a></li>
              <li><a href="/contact.html" style="padding-left: 5px;"><i class="fa fa-comments" style="color: #FFF; font-size: 0.9rem;"></i>Contact us</a></li>
            </ul>
          </div>
        </div>
      </div>
    </div>    
    <!-- bread crumb -->
    <div class="row">
      <div class="large-12 columns" style="font-size: 0.8rem; background-color: rgba(255,255,255,0.75); margin-bottom: 5px;">
        <a href="/">Home</a>
        <i class="fa fa-angle-double-right"></i>
        <a href="/news/code signing service now available.html">
Code signing service now available        </a>
        (<a href="https://github.com/apache/infrastructure-website/tree/master/content/pages/news/code signing service now available.md">edit</a>)
      </div>
    </div>
    
    
    <!-- contents -->
    <div class="row">
      <div class="large-12 columns">
        <div class="callout">
          <h2>
              Code signing service now available
          </h2>
              <p>The ASF Infrastructure team is pleased to announce the availability of a new code signing service for Java, Windows and Android applications. This service is available to any Apache project to use to sign their releases. Traditionally, Apache projects have shipped source code. The code tarballs are signed with a GPG signature to allow users and providers to verify the code's authenticity, but users have either compiled their own applications or some projects have provided convenience binaries. With projects like Apache OpenOffice, users expect to receive binaries that are ready to run. Today's desktop and mobile operating systems expect that binaries will be signed by the vendor -- which had left a gap to be filled for Apache projects. &nbsp;</p>
<p>After a great deal of research, we have chosen Symantec's <a href="http://www.symantec.com/code-signing/secure-app-service">Secure App Service</a> offering to provide code signing service. This allows us to granularly permit access; and each PMC will have their own certificate(s) for signing. The per-project nature of certificate issuance allows us to revoke a signature without disrupting other projects.&nbsp;</p>
<p>This service will permit projects to sign artifacts either via a web GUI or a SOAP API. In addition a <a href="https://svn.apache.org/repos/infra/infrastructure/trunk/projects/code-signing/java-client/">Java client</a> and an <a href="http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/buildutil/SignCode.java?view=log">ant task</a> for signing have been written and a maven plugin is <a href="http://mail-archives.apache.org/mod_mbox/www-infrastructure-dev/201409.mbox/%3C542181B4.4030104%40apache.org%3E">under development</a>.<br/></p>
<p>This service results in a 'pay for what you use' scenario, so PMCs are asked to use the service responsibly. To that end, projects will have access to a test environment to ensure that they have their process working correctly before consuming actual credits.</p>
<p>Thus far, we've had two projects who have helped testing this and working out process for which we are very grateful. Those projects, Commons and Tomcat, have successfully released signed artifacts recently. (Commons Daemon 1.0.15 and Tomcat 8.0.14)</p>
<p>Projects that wish to use this service should <a href="https://reference.apache.org/pmc/newcodesigning">open an Infra JIRA ticket</a> under the Codesigning component. Further <a href="https://reference.apache.org/pmc/codesigning">information for projects using the service</a> is also maintained by the infra team<br/></p>

        </div>
      </div>
    </div>    
    <!-- footer -->
    <div class="row">
      <div class="large-12 medium-12 columns">
        <p style="font-style: italic; font-size: 0.8rem; text-align: center;">
          Copyright 2022, <a href="https://www.apache.org/">The Apache Software Foundation</a>, Licensed under the <a href="https://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.<br/>
          Apache&reg; and the Apache feather logo are trademarks of The Apache Software Foundation...
        </p>
      </div>
    </div>    
    <script src="/js/vendor/jquery.js"></script>
    <script src="/js/vendor/what-input.js"></script>
    <script src="/js/vendor/foundation.js"></script>
    <script src="/js/app.js"></script>
  </body>
</html>
