⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pkitrust.html

📁 是MIDP 的API 查詢文件, 大家可以看一下裡面的index.html, 再用Package 或 Class 名字來查.
💻 HTML
📖 第 1 页 / 共 2 页
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"><HTML>  <HEAD>    <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1">    <TITLE>MIDlet Suite Security</TITLE>    <LINK REL ="stylesheet" TYPE="text/css" 	  HREF="../../../../stylesheet.css" TITLE="Style">    <!-- @(#)PKITrust.html	1.14 02/07/11 -->    <!-- Changed by: Gary Adams - SMI Software Development, 15-May-2002 -->    <!-- Changed by: Roger Riggs - Sun Microsystems Inc, 10-Jun-2002 -->    <!-- Changed by: Gary Adams - SMI Software Development, 07-Aug-2002 -->  </HEAD>  <BODY>    <H1>Trusted MIDlet Suites using X.509 PKI</H1>    <P>Signed MIDlet suites may become trusted by authenticating the      signer of the MIDlet suite and binding it to a protection domain      that will authorize the MIDlet suite to perform protected      functions by granting permissions allowed in the protection      domain.  The mechanisms defined here allow signing and      authentication of MIDlet suites based on X.509 Public Key      Infrastructure so the device can verify the signer and trust the      MIDlet suite. </P>    <P>If an implementation of this specification will recognize      MIDlet suites signed using PKI as trusted MIDlet suites they      MUST be signed and verified according to the formats and      processes below.</P>    <P>The MIDlet suite is protected by signing the JAR.      The signature and certificates are added to the application      descriptor as attributes.  The device uses them to verify the      signature. The device completes the authentication using a      root certificate bound to a protection domain on the      device. The details of the processes and formats follow.<P>    <H3>References</H3>    <P>MIDP 2.0 devices are expected to operate using standard Internet      and wireless protocols and techniques for transport and security. The      current mechanisms for securing Internet content is based      on existing Internet standards for public key cryptography:</P>    <UL>      <LI><A HREF="http://www.ietf.org/rfc/rfc2437">[RFC2437] - PKCS	    #1 RSA Encryption Version 2.0</A>      </LI>      <LI><A HREF="http://www.ietf.org/rfc/rfc2459">[RFC2459] - Internet	    X.509 Public Key Infrastructure</A>      </LI>      <LI><A HREF="http://www.ietf.org/rfc/rfc2560">[RFC2560] - 	    Online Certificate Status Protocol</A>      </LI>      <LI> <A      HREF="http://www.wapforum.org/what/technical.htm">[WAPCERT] -	  WAP-211-WAPCert-20010522-a -	  WAP Certificate Profile Specification</A>      </LI>    </UL>    <H3><A NAME="definitions">Definition of Terms</A></H3>    <P>The terms <EM>Trusted MIDlet suite</EM>, <EM>Permission</EM>,       and <EM>Protection Domain</EM> are defined by      <A HREF="Authorization.html#definitions">Security for MIDP      Applications</A>.</P>    <P>The following additional term is defined:</P>    <TABLE BORDER="1" CELLSPACING="1" CELLPADDING="7">      <THEAD>	<TR>	  <TH WIDTH="50%" VALIGN="TOP">Term</TD>	  <TH WIDTH="50%" VALIGN="TOP">Definition</TD>	</TR>      </THEAD>      <TR>	<TD>Protection Domain Root Certificate</TD>	<TD>A certificate associated with a protection domain that the	  device implicitly trusts to verify and authorize downloaded	  MIDlet suites</TD>       </TR>    </TABLE>    <H3><A NAME=sign> Signing a MIDlet Suite</A></H3>    <P>The security model involves the MIDlet suite, a signer,       and public key certificates.      As with any public key system authentication is      based on a set of root certificates which are used      to verify other certificates.            Zero or more root certificates will need to be on the device.      Additionally, root certificates may be present in removable      media such as SIM(WIM) card/USIM module.      Implementations MUST support X.509 Certificates and      corresponding algorithms.      Devices MAY support additional signing mechanisms      and certificate formats.</P>    <P>The signer of the MIDlet suite may be the developer or some entity      that is responsible for distributing, supporting, and perhaps billing      for its use. The signer will need to have a public key      certificate that can be validated to one of      the protection domain root certificates on the device. The      public key is used to verify the signature on the MIDlet suite. The      public key is provided as a RSA X.509      certificate included in the application descriptor.</P>    <P>Attributes defined within the manifest of the JAR are protected      by the signature.  Attributes defined within the application      descriptor are not secured.  When an attribute appears in the      manifest it <EM>MUST NOT</EM> be overridden by a different value      from the application descriptor. For trusted MIDlet suites the      value in the application descriptor must be equal to the value of      the corresponding attribute in the manifest.  If not, the MIDlet      suite MUST NOT be installed. The      <CODE>MIDlet.getAppProperty</CODE> method must return the      attribute value from the manifest if one is defined.  If not,      the value from the application descriptor (if any) is returned.</P>    <P>      Note that the requirement that attributes values be equal      differs from MIDP 1.0 and must be used for applications that are      signed and verified by these procedures. For untrusted      application descriptors, the MIDP 1.0 rule giving priority to      application descriptor attributes over manifest attributes must      be followed. </P>    <!-- This is in the style of mandating the process;	 should describe what needs to be in the JAD -->    <H3>Creating the Signing Certificate</H3>    <OL>      <LI>The signer will need to be	aware of the authorization policy for the device and contact the	appropriate certificate authority.	For example, the signer may need to send its distinguished	name (DN) and public key (normally, packaged in a certificate	request) to a certificate authority.       </LI>      <LI>The CA creates a RSA X.509 (version 3) certificate 	and returns it to the signer.      </LI>      <LI>If multiple CA's are used then all the signer certificates	in the application descriptor MUST contain the same public	key.      </LI>    </OL>    <H3>Insert Certificates into the application descriptor</H3>    <OL>      <LI>The certificate path includes the	signer certificate and any necessary certificates	but omitting the root certificate.	The root certificate will be found on the device.      </LI>      <LI>Each certificate in the path is encoded (using base64	but without line breaks)	and inserted into the application descriptor as:	<PRE>MIDlet-Certificate-&lt;n&gt;-&lt;m&gt;: &lt;base64 encoding of a certificate&gt;</PRE>	&lt;n&gt;:= a number equal to 1 for first certification path in the	descriptor or 1 greater than the previous number for	additional certification paths.	This defines the sequence in	which the certificates are tested to see if the corresponding root	certificate is on the device.	See the <A HREF="#authen">Authenticating a MIDlet suite</A> section below.	<BR>&lt;m&gt;:= a number equal to 1 for the signer's certificate in a	certification path or 1 greater than the previous number for any	subsequent intermediate certificates.      </LI>    </OL>    <H3>Creating the RSA SHA-1 signature of the JAR</H3>    <OL>      <LI>The signature of the JAR is created	with the signers private key according to the	EMSA-PKCS1-v1_5 encoding method of PKCS #1	version 2.0 standard[RFC2437].      </LI>      <LI>The signature is base64 encoded, formatted as a single	MIDlet-Jar-RSA-SHA1 attribute without line breaks	and inserted in the application descriptor.  	<PRE>MIDlet-Jar-RSA-SHA1: &lt;base64 encoding of Jar signature&gt;	</PRE>      </LI>    </OL>    <BR>    <P>It should be noted that the signer of the MIDlet suite is      responsible to its protection domain root certificate owner for      protecting the protection domain stake holder's assets and      capabilities and, as such, must exercise due-diligence in      checking the MIDlet suite before signing it.  In the case where      there is a trusted relationship (possibly bound by legal      agreements), a protection domain root certificate owner may      delegate signing MIDlet suites to a third-party and in some      circumstances, the author of the MIDlet.</P>        <H3><A NAME="authen">Authenticating a MIDlet Suite</A></H3>    <P>When an MIDlet suite is downloaded, the device MUST check if      authentication is required. If the attribute      <CODE>MIDlet-Jar-RSA-SHA1</CODE> is present in the application      descriptor then the      JAR MUST be authenticated by verifying the signer      certificates and JAR signature as below.</P>    <P>Application descriptors without the <CODE>MIDlet-Jar-RSA-SHA1</CODE>      attribute are not authenticated but are installed and      invoked as untrusted MIDlet suites. </P>    <H3>Verify Signer Certificate</H3>    <P>The certification path      consists of the signer certificate from the application      descriptor and other certificates as needed up to but not      including the root certificate.</P>    <OL>      <LI>Get the certification path for the signer certificate	from the application descriptor attributes	<CODE>MIDlet-Certificate-1-&lt;m&gt;</CODE> where &lt;m&gt;	starts at 1 and is incremented by 1 until there is no	attribute with the given name.	The value of each attribute is a base64 encoded certificate	that will need to be decoded and parsed.      </LI>      <LI>Validate the certification path using the basic path validation	processes described in RFC2459 using the protection domains as	the authoritative source of protection domain root	certificates.  Bind the MIDlet suite to the protection domain	that contains the protection domain root certificate that	validates the first chain from signer to root and proceed	with installation.      </LI>      <LI>If attributes <CODE>MIDlet-Certificate-&lt;n&gt;-&lt;m&gt;</CODE>	with <CODE>&lt;n&gt;</CODE>	greater than 1 are present and full certification path could	not be	established after verifying MIDlet-Certificate-&lt;1&gt;-&lt;m&gt;	certificates, repeatedly perform steps 1 and 2 for the value &lt;n&gt;	greater by 1 than the previous value. 	The results of certificate verification are gathered into	the Table 1.      </LI>    </OL>    <P>Table 1. Actions upon completion of signer certificate verification.</P>     <table BORDER="1" CELLSPACING="1" CELLPADDING="7">      <tr>	<th WIDTH="50%" VALIGN="TOP">Result</th>	<th WIDTH="50%" VALIGN="TOP">Action</th>      </tr>      <tr>	<td>Attempted to validate &lt;n&gt;	  paths. No public keys of the issuer for the certificate can be found or none of the	  certification paths can be validated</td>	<td>Authentication fails, JAR Installation is not allowed.</td>      </tr>      <tr>	<td>More than one full certificate	  path established and validated</td>	<td>Implementation proceeds with the

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -