Codeunit 1279 "Cryptography Management Impl."
System Application · System.Security.Encryption
Across versions
- BC23present
- BC2420 procedures added, 17 procedures removed
- BC252 procedures added
- BC26unchanged
- BC274 procedures added
- BC2812 procedures added
- BC292 procedures changed
- BC30unchanged
Neighbourhood 5 connected objects and pages
System Application · System.Security.Encryption · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Access | Internal |
Procedures
Encrypt(InputString: Text[215]): TextΔ BC29Decrypt(EncryptedString: Text): TextΔ BC29ExportKey()ExportKeyAsStream(var TempBlob: Codeunit "Temp Blob"; Password: SecretText)+ BC24 − BC24ImportKey()ChangeKey()EnableEncryption(Silent: Boolean)DisableEncryption(Silent: Boolean)IsEncryptionEnabled(): BooleanIsEncryptionPossible(): BooleanGetEncryptionIsNotActivatedQst(): TextGenerateHash(InputString: Text; HashAlgorithmType: Option MD5,SHA1,SHA256,SHA384,SHA512): Text+ BC24 − BC24 + BC28 + BC28GenerateHash(InputString: SecretText; HashAlgorithmType: Option MD5,SHA1,SHA256,SHA384,SHA512): SecretText+ BC24 − BC24 + BC28 + BC28GenerateHashAsBase64String(InputString: Text; HashAlgorithmType: Option MD5,SHA1,SHA256,SHA384,SHA512): Text+ BC24 − BC24 + BC28 + BC28GenerateHashAsBase64String(InputString: SecretText; HashAlgorithmType: Option MD5,SHA1,SHA256,SHA384,SHA512): SecretText+ BC24 − BC24 + BC28 + BC28GenerateHash(InputString: Text; Key: SecretText; HashAlgorithmType: Option HMACMD5,HMACSHA1,HMACSHA256,HMACSHA384,HMACSHA512): Text+ BC24 − BC24 + BC28 + BC28GenerateHash(InputString: SecretText; Key: SecretText; HashAlgorithmType: Option HMACMD5,HMACSHA1,HMACSHA256,HMACSHA384,HMACSHA512): SecretText+ BC24 − BC24 + BC28 + BC28GenerateHashAsBase64String(InputString: Text; Key: SecretText; HashAlgorithmType: Option HMACMD5,HMACSHA1,HMACSHA256,HMACSHA384,HMACSHA512): Text+ BC24 − BC24 + BC28 + BC28GenerateHashAsBase64String(InputString: SecretText; Key: SecretText; HashAlgorithmType: Option HMACMD5,HMACSHA1,HMACSHA256,HMACSHA384,HMACSHA512): SecretText+ BC24 − BC24 + BC28 + BC28GenerateBase64KeyedHashAsBase64String(InputString: Text; Key: SecretText; HashAlgorithmType: Option HMACMD5,HMACSHA1,HMACSHA256,HMACSHA384,HMACSHA512): Text+ BC24 − BC24 + BC28GenerateBase64KeyedHashAsBase64String(InputString: SecretText; Key: SecretText; HashAlgorithmType: Option HMACMD5,HMACSHA1,HMACSHA256,HMACSHA384,HMACSHA512): SecretText+ BC24 − BC24 + BC28GenerateHash(DataInStream: InStream; HashAlgorithmType: Option MD5,SHA1,SHA256,SHA384,SHA512): Text+ BC24 − BC24 + BC28 + BC28GenerateBase64KeyedHash(InputString: Text; Key: SecretText; HashAlgorithmType: Option HMACMD5,HMACSHA1,HMACSHA256,HMACSHA384,HMACSHA512): Text+ BC24 − BC24 + BC28GenerateBase64KeyedHash(InputString: SecretText; Key: SecretText; HashAlgorithmType: Option HMACMD5,HMACSHA1,HMACSHA256,HMACSHA384,HMACSHA512): SecretText+ BC24 − BC24 + BC28SignData(InputString: Text; XmlString: SecretText; HashAlgorithm: Enum "Hash Algorithm"; SignatureOutStream: OutStream)+ BC24 + BC24 − BC24 − BC24 + BC25 + BC25 + BC28 + BC28SignData(InputString: SecretText; XmlString: SecretText; HashAlgorithm: Enum "Hash Algorithm"; SignatureOutStream: OutStream)+ BC24 + BC24 − BC24 − BC24 + BC25 + BC25 + BC28 + BC28SignData(InputString: SecretText; SignatureKey: Codeunit "Signature Key"; HashAlgorithm: Enum "Hash Algorithm"; SignatureOutStream: OutStream)+ BC24 + BC24 − BC24 − BC24 + BC25 + BC25 + BC28 + BC28SignData(InputString: Text; SignatureKey: Codeunit "Signature Key"; HashAlgorithm: Enum "Hash Algorithm"; SignatureOutStream: OutStream)+ BC24 + BC24 − BC24 − BC24 + BC25 + BC25 + BC28 + BC28SignData(DataInStream: InStream; XmlString: SecretText; HashAlgorithm: Enum "Hash Algorithm"; SignatureOutStream: OutStream)+ BC24 + BC24 − BC24 − BC24 + BC25 + BC25 + BC28 + BC28SignData(DataInStream: InStream; SignatureKey: Codeunit "Signature Key"; HashAlgorithm: Enum "Hash Algorithm"; SignatureOutStream: OutStream)+ BC24 + BC24 − BC24 − BC24 + BC25 + BC25 + BC28 + BC28SignData(InputString: Text; XmlString: SecretText; HashAlgorithm: Enum "Hash Algorithm"; RSASignaturePadding: Enum "RSA Signature Padding"; SignatureOutStream: OutStream)+ BC24 + BC24 − BC24 − BC24 + BC25 + BC25 + BC28 + BC28SignData(DataInStream: InStream; XmlString: SecretText; HashAlgorithm: Enum "Hash Algorithm"; RSASignaturePadding: Enum "RSA Signature Padding"; SignatureOutStream: OutStream)+ BC24 + BC24 − BC24 − BC24 + BC25 + BC25 + BC28 + BC28VerifyData(InputString: Text; XmlString: SecretText; HashAlgorithm: Enum "Hash Algorithm"; SignatureInStream: InStream): Boolean+ BC24 + BC24 − BC24 − BC24 + BC28 + BC28VerifyData(InputString: SecretText; XmlString: SecretText; HashAlgorithm: Enum "Hash Algorithm"; SignatureInStream: InStream): Boolean+ BC24 + BC24 − BC24 − BC24 + BC28 + BC28VerifyData(InputString: Text; SignatureKey: Codeunit "Signature Key"; HashAlgorithm: Enum "Hash Algorithm"; SignatureInStream: InStream): Boolean+ BC24 + BC24 − BC24 − BC24 + BC28 + BC28VerifyData(InputString: SecretText; SignatureKey: Codeunit "Signature Key"; HashAlgorithm: Enum "Hash Algorithm"; SignatureInStream: InStream): Boolean+ BC24 + BC24 − BC24 − BC24 + BC28 + BC28VerifyData(DataInStream: InStream; XmlString: SecretText; HashAlgorithm: Enum "Hash Algorithm"; SignatureInStream: InStream): Boolean+ BC24 + BC24 − BC24 − BC24 + BC28 + BC28VerifyData(DataInStream: InStream; SignatureKey: Codeunit "Signature Key"; HashAlgorithm: Enum "Hash Algorithm"; SignatureInStream: InStream): Boolean+ BC24 + BC24 − BC24 − BC24 + BC28 + BC28InitRijndaelProvider()+ BC24 + BC24 + BC24 + BC24 − BC24 − BC24 − BC24 − BC24InitRijndaelProvider(EncryptionKey: SecretText)+ BC24 + BC24 + BC24 + BC24 − BC24 − BC24 − BC24 − BC24InitRijndaelProvider(EncryptionKey: SecretText; BlockSize: Integer)+ BC24 + BC24 + BC24 + BC24 − BC24 − BC24 − BC24 − BC24InitRijndaelProvider(EncryptionKey: SecretText; BlockSize: Integer; CipherMode: Text)+ BC24 + BC24 + BC24 + BC24 − BC24 − BC24 − BC24 − BC24InitRijndaelProvider(EncryptionKey: SecretText; BlockSize: Integer; CipherMode: Text; PaddingMode: Text)+ BC24 + BC24 + BC24 + BC24 − BC24 − BC24 − BC24 − BC24SetBlockSize(BlockSize: Integer)SetCipherMode(CipherMode: Text)SetPaddingMode(PaddingMode: Text)SetEncryptionData(KeyAsBase64: SecretText; VectorAsBase64: Text)+ BC24 − BC24IsValidKeySize(KeySize: Integer): BooleanGetLegalKeySizeValues(var MinSize: Integer; var MaxSize: Integer; var SkipSize: Integer)GetLegalBlockSizeValues(var MinSize: Integer; var MaxSize: Integer; var SkipSize: Integer)GetEncryptionData(var KeyAsBase64: Text; var VectorAsBase64: Text)+ BC24GetEncryptionData(var KeyAsBase64: SecretText; var VectorAsBase64: Text)+ BC24EncryptRijndael(PlainText: Text): TextΔ BC24EncryptRijndaelSecret(PlainText: SecretText): SecretText+ BC24EncryptBinaryDataRijndael(BinaryDataAsBase64: Text): Text+ BC27EncryptBinaryDataRijndaelSecret(BinaryDataAsBase64: SecretText): SecretText+ BC27DecryptRijndael(EncryptedText: SecretText): Text+ BC24 − BC24DecryptRijndaelSecret(EncryptedText: SecretText): SecretText+ BC24DecryptBinaryDataRijndael(EncryptedBinaryDataAsBase64: SecretText): Text+ BC27DecryptBinaryDataRijndaelSecret(EncryptedBinaryDataAsBase64: SecretText): SecretText+ BC27HashRfc2898DeriveBytes(InputString: Text; Salt: Text; NoOfBytes: Integer; HashAlgorithmType: Option MD5,SHA1,SHA256,SHA384,SHA512): TextΔ BC24
Plus 15 local procedures.
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 4100 “Temp Blob” (6 calls:
DownloadEncryptionFileFromStream → CreateInStream,GetEncryptionKeyAsStream → CreateOutStream,SignData → CreateInStream, …) - Codeunit 9810 “Password Dialog Management” (4 calls:
ChangeKey → OpenSecretPasswordDialog,EnableEncryption → OpenSecretPasswordDialog,ExportKey → OpenSecretPasswordDialog, …) - Codeunit 1266 “Cryptography Management” (2 calls:
CreateEncryptionKeys → OnBeforeEnableEncryptionOnPrem,DisableEncryption → OnBeforeDisableEncryptionOnPrem)
Called by
- Codeunit 1258 “Rijndael Cryptography” (13 calls:
Decrypt → DecryptRijndael,DecryptBinaryData → DecryptBinaryDataRijndael,Encrypt → EncryptRijndael, …) - Codeunit 1266 “Cryptography Management” (13 calls:
Decrypt → Decrypt,DisableEncryption → DisableEncryption,EnableEncryption → EnableEncryption, …) - Codeunit 1378 “Rfc2898DeriveBytes” (1 call:
HashRfc2898DeriveBytes → HashRfc2898DeriveBytes)
Recent changes
- 2026-07-10 #9291 Add [NonDebuggable] to Cryptography Management encrypt/decrypt procedures (main, BC30, fix)
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "codeunit", object_name: "Cryptography Management Impl."), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.