---
title: ArchiveEncryptionContext
framework: applearchive
role: symbol
role_heading: Class
path: applearchive/archiveencryptioncontext
---

# ArchiveEncryptionContext

An object that encapsulates all parameters, keys, and data necessary to open an encrypted archive for both encryption and decryption streams.

## Declaration

```swift
class ArchiveEncryptionContext
```

## Topics

### Creating an archive encryption context

- [init(from:)](applearchive/archiveencryptioncontext/init(from:).md)
- [init(profile:compressionAlgorithm:compressionBlockSize:)](applearchive/archiveencryptioncontext/init(profile:compressionalgorithm:compressionblocksize:).md)

### Setting and retrieving keys

- [mainKey](applearchive/archiveencryptioncontext/mainkey.md)
- [symmetricKey](applearchive/archiveencryptioncontext/symmetrickey.md)
- [generateSymmetricKey()](applearchive/archiveencryptioncontext/generatesymmetrickey().md)
- [setSymmetricKey(_:)](applearchive/archiveencryptioncontext/setsymmetrickey(_:).md)
- [setRecipientPrivateKey(_:)](applearchive/archiveencryptioncontext/setrecipientprivatekey(_:).md)
- [setSigningPrivateKey(_:)](applearchive/archiveencryptioncontext/setsigningprivatekey(_:).md)
- [setRecipientPublicKey(_:)](applearchive/archiveencryptioncontext/setrecipientpublickey(_:).md)
- [setSigningPublicKey(_:)](applearchive/archiveencryptioncontext/setsigningpublickey(_:).md)

### Signing an encryption context

- [sign(encryptedStream:encryptionContext:)](applearchive/archiveencryptioncontext/sign(encryptedstream:encryptioncontext:).md)
- [signatureMode](applearchive/archiveencryptioncontext/signaturemode-swift.property.md)
- [ArchiveEncryptionContext.SignatureMode](applearchive/archiveencryptioncontext/signaturemode-swift.struct.md)

### Getting and setting encryption context properties

- [decryptAttributes()](applearchive/archiveencryptioncontext/decryptattributes().md)
- [archiveIdentifier](applearchive/archiveencryptioncontext/archiveidentifier.md)
- [authData](applearchive/archiveencryptioncontext/authdata.md)
- [checksumMode](applearchive/archiveencryptioncontext/checksummode-swift.property.md)
- [ArchiveEncryptionContext.ChecksumMode](applearchive/archiveencryptioncontext/checksummode-swift.struct.md)
- [containerSize](applearchive/archiveencryptioncontext/containersize.md)
- [encryptionMode](applearchive/archiveencryptioncontext/encryptionmode-swift.property.md)
- [ArchiveEncryptionContext.EncryptionMode](applearchive/archiveencryptioncontext/encryptionmode-swift.struct.md)
- [compressionAlgorithm](applearchive/archiveencryptioncontext/compressionalgorithm.md)
- [ArchiveCompression](applearchive/archivecompression.md)
- [compressionBlockSize](applearchive/archiveencryptioncontext/compressionblocksize.md)
- [paddingSize](applearchive/archiveencryptioncontext/paddingsize.md)
- [profile](applearchive/archiveencryptioncontext/profile-swift.property.md)
- [ArchiveEncryptionContext.Profile](applearchive/archiveencryptioncontext/profile-swift.struct.md)
- [rawSize](applearchive/archiveencryptioncontext/rawsize.md)
- [signatureEncryptionKey](applearchive/archiveencryptioncontext/signatureencryptionkey.md)

### Setting a password

- [password](applearchive/archiveencryptioncontext/password.md)
- [generatePassword()](applearchive/archiveencryptioncontext/generatepassword().md)
- [setPassword(_:)](applearchive/archiveencryptioncontext/setpassword(_:).md)

## See Also

### Apple Encrypted Archive essentials

- [Encrypting and Decrypting a String](applearchive/encrypting-and-decrypting-a-string.md)
- [Encrypting and Decrypting a Single File](applearchive/encrypting-and-decrypting-a-single-file.md)
- [Encrypting and Decrypting Directories](applearchive/encrypting-and-decrypting-directories.md)
