LibreOffice Module package (master) 1
EncryptedDataHeader.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19#ifndef INCLUDED_PACKAGE_INC_ENCRYPTEDDATAHEADER_HXX
20#define INCLUDED_PACKAGE_INC_ENCRYPTEDDATAHEADER_HXX
21
22#include <sal/types.h>
23
24/* The structure of this header is as follows:
25
26 Header signature 4 bytes
27 Version number 2 bytes
28 Iteration count 4 bytes
29 Size 4 bytes
30 EncAlgorithm 4 bytes
31 DigestAlgorithm 4 bytes
32 DerivedKeySize 4 bytes
33 StartKeyAlgorithm 4 bytes
34 Salt length 2 bytes
35 IV length 2 bytes
36 Digest length 2 bytes
37 MediaType length 2 bytes
38 Salt content X bytes
39 IV content X bytes
40 digest content X bytes
41 MediaType X bytes
42
43*/
44const sal_uInt32 n_ConstHeader = 0x05024d4dL; // "MM\002\005"
45const sal_Int32 n_ConstHeaderSize
46 = 38; // + salt length + iv length + digest length + mediatype length
47const sal_Int16 n_ConstCurrentVersion = 1;
48#endif
49
50/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
const sal_Int32 n_ConstHeaderSize
const sal_Int16 n_ConstCurrentVersion
const sal_uInt32 n_ConstHeader