X0017_StrongEncryptionHeader.html 34 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <!-- NewPage -->
  3. <html lang="de">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  6. <title>X0017_StrongEncryptionHeader (Apache Commons Compress 1.13 API)</title>
  7. <link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
  8. </head>
  9. <body>
  10. <script type="text/javascript"><!--
  11. try {
  12. if (location.href.indexOf('is-external=true') == -1) {
  13. parent.document.title="X0017_StrongEncryptionHeader (Apache Commons Compress 1.13 API)";
  14. }
  15. }
  16. catch(err) {
  17. }
  18. //-->
  19. </script>
  20. <noscript>
  21. <div>JavaScript is disabled on your browser.</div>
  22. </noscript>
  23. <!-- ========= START OF TOP NAVBAR ======= -->
  24. <div class="topNav"><a name="navbar_top">
  25. <!-- -->
  26. </a><a href="#skip-navbar_top" title="Skip navigation links"></a><a name="navbar_top_firstrow">
  27. <!-- -->
  28. </a>
  29. <ul class="navList" title="Navigation">
  30. <li><a href="../../../../../../overview-summary.html">Overview</a></li>
  31. <li><a href="package-summary.html">Package</a></li>
  32. <li class="navBarCell1Rev">Class</li>
  33. <li><a href="class-use/X0017_StrongEncryptionHeader.html">Use</a></li>
  34. <li><a href="package-tree.html">Tree</a></li>
  35. <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
  36. <li><a href="../../../../../../index-all.html">Index</a></li>
  37. <li><a href="../../../../../../help-doc.html">Help</a></li>
  38. </ul>
  39. </div>
  40. <div class="subNav">
  41. <ul class="navList">
  42. <li><a href="../../../../../../org/apache/commons/compress/archivers/zip/X0016_CertificateIdForCentralDirectory.html" title="class in org.apache.commons.compress.archivers.zip"><span class="strong">Prev Class</span></a></li>
  43. <li><a href="../../../../../../org/apache/commons/compress/archivers/zip/X0019_EncryptionRecipientCertificateList.html" title="class in org.apache.commons.compress.archivers.zip"><span class="strong">Next Class</span></a></li>
  44. </ul>
  45. <ul class="navList">
  46. <li><a href="../../../../../../index.html?org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.html" target="_top">Frames</a></li>
  47. <li><a href="X0017_StrongEncryptionHeader.html" target="_top">No Frames</a></li>
  48. </ul>
  49. <ul class="navList" id="allclasses_navbar_top">
  50. <li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
  51. </ul>
  52. <div>
  53. <script type="text/javascript"><!--
  54. allClassesLink = document.getElementById("allclasses_navbar_top");
  55. if(window==top) {
  56. allClassesLink.style.display = "block";
  57. }
  58. else {
  59. allClassesLink.style.display = "none";
  60. }
  61. //-->
  62. </script>
  63. </div>
  64. <div>
  65. <ul class="subNavList">
  66. <li>Summary:&nbsp;</li>
  67. <li><a href="#nested_classes_inherited_from_class_org.apache.commons.compress.archivers.zip.PKWareExtraHeader">Nested</a>&nbsp;|&nbsp;</li>
  68. <li>Field&nbsp;|&nbsp;</li>
  69. <li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
  70. <li><a href="#method_summary">Method</a></li>
  71. </ul>
  72. <ul class="subNavList">
  73. <li>Detail:&nbsp;</li>
  74. <li>Field&nbsp;|&nbsp;</li>
  75. <li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
  76. <li><a href="#method_detail">Method</a></li>
  77. </ul>
  78. </div>
  79. <a name="skip-navbar_top">
  80. <!-- -->
  81. </a></div>
  82. <!-- ========= END OF TOP NAVBAR ========= -->
  83. <!-- ======== START OF CLASS DATA ======== -->
  84. <div class="header">
  85. <div class="subTitle">org.apache.commons.compress.archivers.zip</div>
  86. <h2 title="Class X0017_StrongEncryptionHeader" class="title">Class X0017_StrongEncryptionHeader</h2>
  87. </div>
  88. <div class="contentContainer">
  89. <ul class="inheritance">
  90. <li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
  91. <li>
  92. <ul class="inheritance">
  93. <li><a href="../../../../../../org/apache/commons/compress/archivers/zip/PKWareExtraHeader.html" title="class in org.apache.commons.compress.archivers.zip">org.apache.commons.compress.archivers.zip.PKWareExtraHeader</a></li>
  94. <li>
  95. <ul class="inheritance">
  96. <li>org.apache.commons.compress.archivers.zip.X0017_StrongEncryptionHeader</li>
  97. </ul>
  98. </li>
  99. </ul>
  100. </li>
  101. </ul>
  102. <div class="description">
  103. <ul class="blockList">
  104. <li class="blockList">
  105. <dl>
  106. <dt>All Implemented Interfaces:</dt>
  107. <dd><a href="../../../../../../org/apache/commons/compress/archivers/zip/ZipExtraField.html" title="interface in org.apache.commons.compress.archivers.zip">ZipExtraField</a></dd>
  108. </dl>
  109. <hr>
  110. <br>
  111. <pre>public class <a href="../../../../../../src-html/org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.html#line.245">X0017_StrongEncryptionHeader</a>
  112. extends <a href="../../../../../../org/apache/commons/compress/archivers/zip/PKWareExtraHeader.html" title="class in org.apache.commons.compress.archivers.zip">PKWareExtraHeader</a></pre>
  113. <div class="block">Strong Encryption Header (0x0017).
  114. <p>Certificate-based encryption:</p>
  115. <pre>
  116. Value Size Description
  117. ----- ---- -----------
  118. 0x0017 2 bytes Tag for this "extra" block type
  119. TSize 2 bytes Size of data that follows
  120. Format 2 bytes Format definition for this record
  121. AlgID 2 bytes Encryption algorithm identifier
  122. Bitlen 2 bytes Bit length of encryption key (32-448 bits)
  123. Flags 2 bytes Processing flags
  124. RCount 4 bytes Number of recipients.
  125. HashAlg 2 bytes Hash algorithm identifier
  126. HSize 2 bytes Hash size
  127. SRList (var) Simple list of recipients hashed public keys
  128. Flags - This defines the processing flags.
  129. </pre>
  130. <ul>
  131. <li>0x0007 - reserved for future use
  132. <li>0x000F - reserved for future use
  133. <li>0x0100 - Indicates non-OAEP key wrapping was used. If this
  134. this field is set, the version needed to extract must
  135. be at least 61. This means OAEP key wrapping is not
  136. used when generating a Master Session Key using
  137. ErdData.
  138. <li>0x4000 - ErdData must be decrypted using 3DES-168, otherwise use the
  139. same algorithm used for encrypting the file contents.
  140. <li>0x8000 - reserved for future use
  141. </ul>
  142. <pre>
  143. RCount - This defines the number intended recipients whose
  144. public keys were used for encryption. This identifies
  145. the number of elements in the SRList.
  146. see also: reserved1
  147. HashAlg - This defines the hash algorithm used to calculate
  148. the public key hash of each public key used
  149. for encryption. This field currently supports
  150. only the following value for SHA-1
  151. 0x8004 - SHA1
  152. HSize - This defines the size of a hashed public key.
  153. SRList - This is a variable length list of the hashed
  154. public keys for each intended recipient. Each
  155. element in this list is HSize. The total size of
  156. SRList is determined using RCount * HSize.
  157. </pre>
  158. <p>Password-based Extra Field 0x0017 in central header only.</p>
  159. <pre>
  160. Value Size Description
  161. ----- ---- -----------
  162. 0x0017 2 bytes Tag for this "extra" block type
  163. TSize 2 bytes Size of data that follows
  164. Format 2 bytes Format definition for this record
  165. AlgID 2 bytes Encryption algorithm identifier
  166. Bitlen 2 bytes Bit length of encryption key (32-448 bits)
  167. Flags 2 bytes Processing flags
  168. (more?)
  169. </pre>
  170. <p><b>Format</b> - the data format identifier for this record. The only value
  171. allowed at this time is the integer value 2.</p>
  172. <p>Password-based Extra Field 0x0017 preceding compressed file data.</p>
  173. <pre>
  174. Value Size Description
  175. ----- ---- -----------
  176. 0x0017 2 bytes Tag for this "extra" block type
  177. IVSize 2 bytes Size of initialization vector (IV)
  178. IVData IVSize Initialization vector for this file
  179. Size 4 bytes Size of remaining decryption header data
  180. Format 2 bytes Format definition for this record
  181. AlgID 2 bytes Encryption algorithm identifier
  182. Bitlen 2 bytes Bit length of encryption key (32-448 bits)
  183. Flags 2 bytes Processing flags
  184. ErdSize 2 bytes Size of Encrypted Random Data
  185. ErdData ErdSize Encrypted Random Data
  186. Reserved1 4 bytes Reserved certificate processing data
  187. Reserved2 (var) Reserved for certificate processing data
  188. VSize 2 bytes Size of password validation data
  189. VData VSize-4 Password validation data
  190. VCRC32 4 bytes Standard ZIP CRC32 of password validation data
  191. IVData - The size of the IV should match the algorithm block size.
  192. The IVData can be completely random data. If the size of
  193. the randomly generated data does not match the block size
  194. it should be complemented with zero's or truncated as
  195. necessary. If IVSize is 0,then IV = CRC32 + Uncompressed
  196. File Size (as a 64 bit little-endian, unsigned integer value).
  197. Format - the data format identifier for this record. The only
  198. value allowed at this time is the integer value 2.
  199. ErdData - Encrypted random data is used to store random data that
  200. is used to generate a file session key for encrypting
  201. each file. SHA1 is used to calculate hash data used to
  202. derive keys. File session keys are derived from a master
  203. session key generated from the user-supplied password.
  204. If the Flags field in the decryption header contains
  205. the value 0x4000, then the ErdData field must be
  206. decrypted using 3DES. If the value 0x4000 is not set,
  207. then the ErdData field must be decrypted using AlgId.
  208. Reserved1 - Reserved for certificate processing, if value is
  209. zero, then Reserved2 data is absent. See the explanation
  210. under the Certificate Processing Method for details on
  211. this data structure.
  212. Reserved2 - If present, the size of the Reserved2 data structure
  213. is located by skipping the first 4 bytes of this field
  214. and using the next 2 bytes as the remaining size. See
  215. the explanation under the Certificate Processing Method
  216. for details on this data structure.
  217. VSize - This size value will always include the 4 bytes of the
  218. VCRC32 data and will be greater than 4 bytes.
  219. VData - Random data for password validation. This data is VSize
  220. in length and VSize must be a multiple of the encryption
  221. block size. VCRC32 is a checksum value of VData.
  222. VData and VCRC32 are stored encrypted and start the
  223. stream of encrypted data for a file.
  224. </pre>
  225. <p>Reserved1 - Certificate Decryption Header Reserved1 Data:</p>
  226. <pre>
  227. Value Size Description
  228. ----- ---- -----------
  229. RCount 4 bytes Number of recipients.
  230. </pre>
  231. <p>RCount - This defines the number intended recipients whose public keys were
  232. used for encryption. This defines the number of elements in the REList field
  233. defined below.</p>
  234. <p>Reserved2 - Certificate Decryption Header Reserved2 Data Structures:</p>
  235. <pre>
  236. Value Size Description
  237. ----- ---- -----------
  238. HashAlg 2 bytes Hash algorithm identifier
  239. HSize 2 bytes Hash size
  240. REList (var) List of recipient data elements
  241. HashAlg - This defines the hash algorithm used to calculate
  242. the public key hash of each public key used
  243. for encryption. This field currently supports
  244. only the following value for SHA-1
  245. 0x8004 - SHA1
  246. HSize - This defines the size of a hashed public key
  247. defined in REHData.
  248. REList - This is a variable length of list of recipient data.
  249. Each element in this list consists of a Recipient
  250. Element data structure as follows:
  251. </pre>
  252. <p>Recipient Element (REList) Data Structure:</p>
  253. <pre>
  254. Value Size Description
  255. ----- ---- -----------
  256. RESize 2 bytes Size of REHData + REKData
  257. REHData HSize Hash of recipients public key
  258. REKData (var) Simple key blob
  259. RESize - This defines the size of an individual REList
  260. element. This value is the combined size of the
  261. REHData field + REKData field. REHData is defined by
  262. HSize. REKData is variable and can be calculated
  263. for each REList element using RESize and HSize.
  264. REHData - Hashed public key for this recipient.
  265. REKData - Simple Key Blob. The format of this data structure
  266. is identical to that defined in the Microsoft
  267. CryptoAPI and generated using the CryptExportKey()
  268. function. The version of the Simple Key Blob
  269. supported at this time is 0x02 as defined by
  270. Microsoft.
  271. For more details see https://msdn.microsoft.com/en-us/library/aa920051.aspx
  272. </pre>
  273. <p><b>Flags</b> - Processing flags needed for decryption</p>
  274. <ul>
  275. <li>0x0001 - Password is required to decrypt</li>
  276. <li>0x0002 - Certificates only</li>
  277. <li>0x0003 - Password or certificate required to decrypt</li>
  278. <li>0x0007 - reserved for future use
  279. <li>0x000F - reserved for future use
  280. <li>0x0100 - indicates non-OAEP key wrapping was used. If this field is set
  281. the version needed to extract must be at least 61. This means OAEP key
  282. wrapping is not used when generating a Master Session Key using ErdData.
  283. <li>0x4000 - ErdData must be decrypted using 3DES-168, otherwise use the same
  284. algorithm used for encrypting the file contents.
  285. <li>0x8000 - reserved for future use.
  286. </ul>
  287. <p><b>See the section describing the Strong Encryption Specification for
  288. details. Refer to the section in this document entitled
  289. "Incorporating PKWARE Proprietary Technology into Your Product" for more
  290. information.</b></p></div>
  291. <dl><dt><span class="strong">Since:</span></dt>
  292. <dd>1.11</dd>
  293. <dt><span class="strong">This class is not thread-safe</span></dt>
  294. <dd></dd></dl>
  295. </li>
  296. </ul>
  297. </div>
  298. <div class="summary">
  299. <ul class="blockList">
  300. <li class="blockList">
  301. <!-- ======== NESTED CLASS SUMMARY ======== -->
  302. <ul class="blockList">
  303. <li class="blockList"><a name="nested_class_summary">
  304. <!-- -->
  305. </a>
  306. <h3>Nested Class Summary</h3>
  307. <ul class="blockList">
  308. <li class="blockList"><a name="nested_classes_inherited_from_class_org.apache.commons.compress.archivers.zip.PKWareExtraHeader">
  309. <!-- -->
  310. </a>
  311. <h3>Nested classes/interfaces inherited from class&nbsp;org.apache.commons.compress.archivers.zip.<a href="../../../../../../org/apache/commons/compress/archivers/zip/PKWareExtraHeader.html" title="class in org.apache.commons.compress.archivers.zip">PKWareExtraHeader</a></h3>
  312. <code><a href="../../../../../../org/apache/commons/compress/archivers/zip/PKWareExtraHeader.EncryptionAlgorithm.html" title="enum in org.apache.commons.compress.archivers.zip">PKWareExtraHeader.EncryptionAlgorithm</a>, <a href="../../../../../../org/apache/commons/compress/archivers/zip/PKWareExtraHeader.HashAlgorithm.html" title="enum in org.apache.commons.compress.archivers.zip">PKWareExtraHeader.HashAlgorithm</a></code></li>
  313. </ul>
  314. </li>
  315. </ul>
  316. <!-- ======== CONSTRUCTOR SUMMARY ======== -->
  317. <ul class="blockList">
  318. <li class="blockList"><a name="constructor_summary">
  319. <!-- -->
  320. </a>
  321. <h3>Constructor Summary</h3>
  322. <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
  323. <caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
  324. <tr>
  325. <th class="colOne" scope="col">Constructor and Description</th>
  326. </tr>
  327. <tr class="altColor">
  328. <td class="colOne"><code><strong><a href="../../../../../../org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.html#X0017_StrongEncryptionHeader()">X0017_StrongEncryptionHeader</a></strong>()</code>&nbsp;</td>
  329. </tr>
  330. </table>
  331. </li>
  332. </ul>
  333. <!-- ========== METHOD SUMMARY =========== -->
  334. <ul class="blockList">
  335. <li class="blockList"><a name="method_summary">
  336. <!-- -->
  337. </a>
  338. <h3>Method Summary</h3>
  339. <table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
  340. <caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
  341. <tr>
  342. <th class="colFirst" scope="col">Modifier and Type</th>
  343. <th class="colLast" scope="col">Method and Description</th>
  344. </tr>
  345. <tr class="altColor">
  346. <td class="colFirst"><code><a href="../../../../../../org/apache/commons/compress/archivers/zip/PKWareExtraHeader.EncryptionAlgorithm.html" title="enum in org.apache.commons.compress.archivers.zip">PKWareExtraHeader.EncryptionAlgorithm</a></code></td>
  347. <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.html#getEncryptionAlgorithm()">getEncryptionAlgorithm</a></strong>()</code>
  348. <div class="block">Get encryption algorithm.</div>
  349. </td>
  350. </tr>
  351. <tr class="rowColor">
  352. <td class="colFirst"><code><a href="../../../../../../org/apache/commons/compress/archivers/zip/PKWareExtraHeader.HashAlgorithm.html" title="enum in org.apache.commons.compress.archivers.zip">PKWareExtraHeader.HashAlgorithm</a></code></td>
  353. <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.html#getHashAlgorithm()">getHashAlgorithm</a></strong>()</code>
  354. <div class="block">Get hash algorithm.</div>
  355. </td>
  356. </tr>
  357. <tr class="altColor">
  358. <td class="colFirst"><code>long</code></td>
  359. <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.html#getRecordCount()">getRecordCount</a></strong>()</code>
  360. <div class="block">Get record count.</div>
  361. </td>
  362. </tr>
  363. <tr class="rowColor">
  364. <td class="colFirst"><code>void</code></td>
  365. <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.html#parseCentralDirectoryFormat(byte[],%20int,%20int)">parseCentralDirectoryFormat</a></strong>(byte[]&nbsp;data,
  366. int&nbsp;offset,
  367. int&nbsp;length)</code>
  368. <div class="block">Parse central directory format.</div>
  369. </td>
  370. </tr>
  371. <tr class="altColor">
  372. <td class="colFirst"><code>void</code></td>
  373. <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.html#parseFileFormat(byte[],%20int,%20int)">parseFileFormat</a></strong>(byte[]&nbsp;data,
  374. int&nbsp;offset,
  375. int&nbsp;length)</code>
  376. <div class="block">Parse file header format.</div>
  377. </td>
  378. </tr>
  379. <tr class="rowColor">
  380. <td class="colFirst"><code>void</code></td>
  381. <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.html#parseFromCentralDirectoryData(byte[],%20int,%20int)">parseFromCentralDirectoryData</a></strong>(byte[]&nbsp;data,
  382. int&nbsp;offset,
  383. int&nbsp;length)</code>
  384. <div class="block">Populate data from this array as if it was in central directory data.</div>
  385. </td>
  386. </tr>
  387. <tr class="altColor">
  388. <td class="colFirst"><code>void</code></td>
  389. <td class="colLast"><code><strong><a href="../../../../../../org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.html#parseFromLocalFileData(byte[],%20int,%20int)">parseFromLocalFileData</a></strong>(byte[]&nbsp;data,
  390. int&nbsp;offset,
  391. int&nbsp;length)</code>
  392. <div class="block">Populate data from this array as if it was in local file data.</div>
  393. </td>
  394. </tr>
  395. </table>
  396. <ul class="blockList">
  397. <li class="blockList"><a name="methods_inherited_from_class_org.apache.commons.compress.archivers.zip.PKWareExtraHeader">
  398. <!-- -->
  399. </a>
  400. <h3>Methods inherited from class&nbsp;org.apache.commons.compress.archivers.zip.<a href="../../../../../../org/apache/commons/compress/archivers/zip/PKWareExtraHeader.html" title="class in org.apache.commons.compress.archivers.zip">PKWareExtraHeader</a></h3>
  401. <code><a href="../../../../../../org/apache/commons/compress/archivers/zip/PKWareExtraHeader.html#getCentralDirectoryData()">getCentralDirectoryData</a>, <a href="../../../../../../org/apache/commons/compress/archivers/zip/PKWareExtraHeader.html#getCentralDirectoryLength()">getCentralDirectoryLength</a>, <a href="../../../../../../org/apache/commons/compress/archivers/zip/PKWareExtraHeader.html#getHeaderId()">getHeaderId</a>, <a href="../../../../../../org/apache/commons/compress/archivers/zip/PKWareExtraHeader.html#getLocalFileDataData()">getLocalFileDataData</a>, <a href="../../../../../../org/apache/commons/compress/archivers/zip/PKWareExtraHeader.html#getLocalFileDataLength()">getLocalFileDataLength</a>, <a href="../../../../../../org/apache/commons/compress/archivers/zip/PKWareExtraHeader.html#setCentralDirectoryData(byte[])">setCentralDirectoryData</a>, <a href="../../../../../../org/apache/commons/compress/archivers/zip/PKWareExtraHeader.html#setLocalFileDataData(byte[])">setLocalFileDataData</a></code></li>
  402. </ul>
  403. <ul class="blockList">
  404. <li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
  405. <!-- -->
  406. </a>
  407. <h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
  408. <code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
  409. </ul>
  410. </li>
  411. </ul>
  412. </li>
  413. </ul>
  414. </div>
  415. <div class="details">
  416. <ul class="blockList">
  417. <li class="blockList">
  418. <!-- ========= CONSTRUCTOR DETAIL ======== -->
  419. <ul class="blockList">
  420. <li class="blockList"><a name="constructor_detail">
  421. <!-- -->
  422. </a>
  423. <h3>Constructor Detail</h3>
  424. <a name="X0017_StrongEncryptionHeader()">
  425. <!-- -->
  426. </a>
  427. <ul class="blockListLast">
  428. <li class="blockList">
  429. <h4>X0017_StrongEncryptionHeader</h4>
  430. <pre>public&nbsp;<a href="../../../../../../src-html/org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.html#line.247">X0017_StrongEncryptionHeader</a>()</pre>
  431. </li>
  432. </ul>
  433. </li>
  434. </ul>
  435. <!-- ============ METHOD DETAIL ========== -->
  436. <ul class="blockList">
  437. <li class="blockList"><a name="method_detail">
  438. <!-- -->
  439. </a>
  440. <h3>Method Detail</h3>
  441. <a name="getRecordCount()">
  442. <!-- -->
  443. </a>
  444. <ul class="blockList">
  445. <li class="blockList">
  446. <h4>getRecordCount</h4>
  447. <pre>public&nbsp;long&nbsp;<a href="../../../../../../src-html/org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.html#line.275">getRecordCount</a>()</pre>
  448. <div class="block">Get record count.</div>
  449. <dl><dt><span class="strong">Returns:</span></dt><dd>the record count</dd></dl>
  450. </li>
  451. </ul>
  452. <a name="getHashAlgorithm()">
  453. <!-- -->
  454. </a>
  455. <ul class="blockList">
  456. <li class="blockList">
  457. <h4>getHashAlgorithm</h4>
  458. <pre>public&nbsp;<a href="../../../../../../org/apache/commons/compress/archivers/zip/PKWareExtraHeader.HashAlgorithm.html" title="enum in org.apache.commons.compress.archivers.zip">PKWareExtraHeader.HashAlgorithm</a>&nbsp;<a href="../../../../../../src-html/org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.html#line.283">getHashAlgorithm</a>()</pre>
  459. <div class="block">Get hash algorithm.</div>
  460. <dl><dt><span class="strong">Returns:</span></dt><dd>the hash algorithm</dd></dl>
  461. </li>
  462. </ul>
  463. <a name="getEncryptionAlgorithm()">
  464. <!-- -->
  465. </a>
  466. <ul class="blockList">
  467. <li class="blockList">
  468. <h4>getEncryptionAlgorithm</h4>
  469. <pre>public&nbsp;<a href="../../../../../../org/apache/commons/compress/archivers/zip/PKWareExtraHeader.EncryptionAlgorithm.html" title="enum in org.apache.commons.compress.archivers.zip">PKWareExtraHeader.EncryptionAlgorithm</a>&nbsp;<a href="../../../../../../src-html/org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.html#line.291">getEncryptionAlgorithm</a>()</pre>
  470. <div class="block">Get encryption algorithm.</div>
  471. <dl><dt><span class="strong">Returns:</span></dt><dd>the encryption algorithm</dd></dl>
  472. </li>
  473. </ul>
  474. <a name="parseCentralDirectoryFormat(byte[], int, int)">
  475. <!-- -->
  476. </a>
  477. <ul class="blockList">
  478. <li class="blockList">
  479. <h4>parseCentralDirectoryFormat</h4>
  480. <pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.html#line.302">parseCentralDirectoryFormat</a>(byte[]&nbsp;data,
  481. int&nbsp;offset,
  482. int&nbsp;length)</pre>
  483. <div class="block">Parse central directory format.</div>
  484. <dl><dt><span class="strong">Parameters:</span></dt><dd><code>data</code> - the buffer to read data from</dd><dd><code>offset</code> - offset into buffer to read data</dd><dd><code>length</code> - the length of data</dd></dl>
  485. </li>
  486. </ul>
  487. <a name="parseFileFormat(byte[], int, int)">
  488. <!-- -->
  489. </a>
  490. <ul class="blockList">
  491. <li class="blockList">
  492. <h4>parseFileFormat</h4>
  493. <pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.html#line.330">parseFileFormat</a>(byte[]&nbsp;data,
  494. int&nbsp;offset,
  495. int&nbsp;length)</pre>
  496. <div class="block">Parse file header format.
  497. <p>(Password only?)</p></div>
  498. <dl><dt><span class="strong">Parameters:</span></dt><dd><code>data</code> - the buffer to read data from</dd><dd><code>offset</code> - offset into buffer to read data</dd><dd><code>length</code> - the length of data</dd></dl>
  499. </li>
  500. </ul>
  501. <a name="parseFromLocalFileData(byte[], int, int)">
  502. <!-- -->
  503. </a>
  504. <ul class="blockList">
  505. <li class="blockList">
  506. <h4>parseFromLocalFileData</h4>
  507. <pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.html#line.372">parseFromLocalFileData</a>(byte[]&nbsp;data,
  508. int&nbsp;offset,
  509. int&nbsp;length)</pre>
  510. <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/commons/compress/archivers/zip/ZipExtraField.html#parseFromLocalFileData(byte[],%20int,%20int)">ZipExtraField</a></code></strong></div>
  511. <div class="block">Populate data from this array as if it was in local file data.</div>
  512. <dl>
  513. <dt><strong>Specified by:</strong></dt>
  514. <dd><code><a href="../../../../../../org/apache/commons/compress/archivers/zip/ZipExtraField.html#parseFromLocalFileData(byte[],%20int,%20int)">parseFromLocalFileData</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/commons/compress/archivers/zip/ZipExtraField.html" title="interface in org.apache.commons.compress.archivers.zip">ZipExtraField</a></code></dd>
  515. <dt><strong>Overrides:</strong></dt>
  516. <dd><code><a href="../../../../../../org/apache/commons/compress/archivers/zip/PKWareExtraHeader.html#parseFromLocalFileData(byte[],%20int,%20int)">parseFromLocalFileData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/commons/compress/archivers/zip/PKWareExtraHeader.html" title="class in org.apache.commons.compress.archivers.zip">PKWareExtraHeader</a></code></dd>
  517. <dt><span class="strong">Parameters:</span></dt><dd><code>data</code> - the array of bytes.</dd><dd><code>offset</code> - the source location in the data array.</dd><dd><code>length</code> - the number of bytes to use in the data array.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/commons/compress/archivers/zip/ZipExtraField.html#parseFromLocalFileData(byte[],%20int,%20int)"><code>ZipExtraField.parseFromLocalFileData(byte[], int, int)</code></a></dd></dl>
  518. </li>
  519. </ul>
  520. <a name="parseFromCentralDirectoryData(byte[], int, int)">
  521. <!-- -->
  522. </a>
  523. <ul class="blockListLast">
  524. <li class="blockList">
  525. <h4>parseFromCentralDirectoryData</h4>
  526. <pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.html#line.378">parseFromCentralDirectoryData</a>(byte[]&nbsp;data,
  527. int&nbsp;offset,
  528. int&nbsp;length)</pre>
  529. <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../../org/apache/commons/compress/archivers/zip/ZipExtraField.html#parseFromCentralDirectoryData(byte[],%20int,%20int)">ZipExtraField</a></code></strong></div>
  530. <div class="block">Populate data from this array as if it was in central directory data.</div>
  531. <dl>
  532. <dt><strong>Specified by:</strong></dt>
  533. <dd><code><a href="../../../../../../org/apache/commons/compress/archivers/zip/ZipExtraField.html#parseFromCentralDirectoryData(byte[],%20int,%20int)">parseFromCentralDirectoryData</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../../org/apache/commons/compress/archivers/zip/ZipExtraField.html" title="interface in org.apache.commons.compress.archivers.zip">ZipExtraField</a></code></dd>
  534. <dt><strong>Overrides:</strong></dt>
  535. <dd><code><a href="../../../../../../org/apache/commons/compress/archivers/zip/PKWareExtraHeader.html#parseFromCentralDirectoryData(byte[],%20int,%20int)">parseFromCentralDirectoryData</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../../org/apache/commons/compress/archivers/zip/PKWareExtraHeader.html" title="class in org.apache.commons.compress.archivers.zip">PKWareExtraHeader</a></code></dd>
  536. <dt><span class="strong">Parameters:</span></dt><dd><code>data</code> - the array of bytes.</dd><dd><code>offset</code> - the source location in the data array.</dd><dd><code>length</code> - the number of bytes to use in the data array.</dd><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../../org/apache/commons/compress/archivers/zip/ZipExtraField.html#parseFromCentralDirectoryData(byte[],%20int,%20int)"><code>ZipExtraField.parseFromCentralDirectoryData(byte[], int, int)</code></a></dd></dl>
  537. </li>
  538. </ul>
  539. </li>
  540. </ul>
  541. </li>
  542. </ul>
  543. </div>
  544. </div>
  545. <!-- ========= END OF CLASS DATA ========= -->
  546. <!-- ======= START OF BOTTOM NAVBAR ====== -->
  547. <div class="bottomNav"><a name="navbar_bottom">
  548. <!-- -->
  549. </a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><a name="navbar_bottom_firstrow">
  550. <!-- -->
  551. </a>
  552. <ul class="navList" title="Navigation">
  553. <li><a href="../../../../../../overview-summary.html">Overview</a></li>
  554. <li><a href="package-summary.html">Package</a></li>
  555. <li class="navBarCell1Rev">Class</li>
  556. <li><a href="class-use/X0017_StrongEncryptionHeader.html">Use</a></li>
  557. <li><a href="package-tree.html">Tree</a></li>
  558. <li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
  559. <li><a href="../../../../../../index-all.html">Index</a></li>
  560. <li><a href="../../../../../../help-doc.html">Help</a></li>
  561. </ul>
  562. </div>
  563. <div class="subNav">
  564. <ul class="navList">
  565. <li><a href="../../../../../../org/apache/commons/compress/archivers/zip/X0016_CertificateIdForCentralDirectory.html" title="class in org.apache.commons.compress.archivers.zip"><span class="strong">Prev Class</span></a></li>
  566. <li><a href="../../../../../../org/apache/commons/compress/archivers/zip/X0019_EncryptionRecipientCertificateList.html" title="class in org.apache.commons.compress.archivers.zip"><span class="strong">Next Class</span></a></li>
  567. </ul>
  568. <ul class="navList">
  569. <li><a href="../../../../../../index.html?org/apache/commons/compress/archivers/zip/X0017_StrongEncryptionHeader.html" target="_top">Frames</a></li>
  570. <li><a href="X0017_StrongEncryptionHeader.html" target="_top">No Frames</a></li>
  571. </ul>
  572. <ul class="navList" id="allclasses_navbar_bottom">
  573. <li><a href="../../../../../../allclasses-noframe.html">All Classes</a></li>
  574. </ul>
  575. <div>
  576. <script type="text/javascript"><!--
  577. allClassesLink = document.getElementById("allclasses_navbar_bottom");
  578. if(window==top) {
  579. allClassesLink.style.display = "block";
  580. }
  581. else {
  582. allClassesLink.style.display = "none";
  583. }
  584. //-->
  585. </script>
  586. </div>
  587. <div>
  588. <ul class="subNavList">
  589. <li>Summary:&nbsp;</li>
  590. <li><a href="#nested_classes_inherited_from_class_org.apache.commons.compress.archivers.zip.PKWareExtraHeader">Nested</a>&nbsp;|&nbsp;</li>
  591. <li>Field&nbsp;|&nbsp;</li>
  592. <li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
  593. <li><a href="#method_summary">Method</a></li>
  594. </ul>
  595. <ul class="subNavList">
  596. <li>Detail:&nbsp;</li>
  597. <li>Field&nbsp;|&nbsp;</li>
  598. <li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
  599. <li><a href="#method_detail">Method</a></li>
  600. </ul>
  601. </div>
  602. <a name="skip-navbar_bottom">
  603. <!-- -->
  604. </a></div>
  605. <!-- ======== END OF BOTTOM NAVBAR ======= -->
  606. <p class="legalCopy"><small>Copyright &#169; 2016 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
  607. </body>
  608. </html>