X0019_EncryptionRecipientCertificateList.java

  1. /*
  2.  * Licensed to the Apache Software Foundation (ASF) under one
  3.  * or more contributor license agreements.  See the NOTICE file
  4.  * distributed with this work for additional information
  5.  * regarding copyright ownership.  The ASF licenses this file
  6.  * to you under the Apache License, Version 2.0 (the
  7.  * "License"); you may not use this file except in compliance
  8.  * with the License.  You may obtain a copy of the License at
  9.  *
  10.  * http://www.apache.org/licenses/LICENSE-2.0
  11.  *
  12.  * Unless required by applicable law or agreed to in writing,
  13.  * software distributed under the License is distributed on an
  14.  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  15.  * KIND, either express or implied.  See the License for the
  16.  * specific language governing permissions and limitations
  17.  * under the License.
  18.  */
  19. package org.apache.commons.compress.archivers.zip;

  20. /**
  21.  * PKCS#7 Encryption Recipient Certificate List (0x0019).
  22.  *
  23.  * <p>
  24.  * This field MAY contain information about each of the certificates used in encryption processing and it can be used to identify who is allowed to decrypt
  25.  * encrypted files. This field should only appear in the archive extra data record. This field is not required and serves only to aid archive modifications by
  26.  * preserving public encryption key data. Individual security requirements may dictate that this data be omitted to deter information exposure.
  27.  * </p>
  28.  *
  29.  * <p>
  30.  * Note: all fields stored in Intel low-byte/high-byte order.
  31.  * </p>
  32.  *
  33.  * <pre>
  34.  *          Value     Size     Description
  35.  *          -----     ----     -----------
  36.  * (CStore) 0x0019    2 bytes  Tag for this "extra" block type
  37.  *          TSize     2 bytes  Size of the store data
  38.  *          Version   2 bytes  Format version number - must 0x0001 at this time
  39.  *          CStore    (var)    PKCS#7 data blob
  40.  * </pre>
  41.  *
  42.  * <p>
  43.  * <b>See the section describing the Strong Encryption Specification for details. Refer to the section in this document entitled "Incorporating PKWARE
  44.  * Proprietary Technology into Your Product" for more information.</b>
  45.  * </p>
  46.  *
  47.  * @NotThreadSafe
  48.  * @since 1.11
  49.  */
  50. public class X0019_EncryptionRecipientCertificateList extends PKWareExtraHeader {

  51.     static final ZipShort HEADER_ID = new ZipShort(0x0019);

  52.     public X0019_EncryptionRecipientCertificateList() {
  53.         super(HEADER_ID);
  54.     }

  55. }