Codeunit 1259 "Certificate Management"
Base Application · System.Security.Encryption
Across versions
- BC23present
- BC246 procedures added, 4 procedures changed
- BC25-26unchanged
- BC274 procedures removed, 1 procedures added
- BC28-30unchanged
Neighbourhood 12 connected objects and pages
Base Application · System.Security.Encryption · BC23-30 · source at ea08af5e · facts from BC29
Procedures
UploadAndVerifyCert(var IsolatedCertificate: Record "Isolated Certificate"): BooleanInitIsolatedCertificateFromBlob(var IsolatedCertificate: Record "Isolated Certificate"; NewTempBlob: Codeunit "Temp Blob"): BooleanVerifyCert(var IsolatedCertificate: Record "Isolated Certificate"): BooleanVerifyCertFromString(var IsolatedCertificate: Record "Isolated Certificate"; CertString: Text)SaveCertToIsolatedStorage(IsolatedCertificate: Record "Isolated Certificate")SavePasswordToIsolatedStorage(var IsolatedCertificate: Record "Isolated Certificate")GetPasswordAsSecureString(var DotNet_SecureString: Codeunit DotNet_SecureString; IsolatedCertificate: Record "Isolated Certificate")GetPasswordAsSecret(IsolatedCertificate: Record "Isolated Certificate"): SecretText+ BC24GetCertAsBase64String(IsolatedCertificate: Record "Isolated Certificate"): TextGetCertDataScope(IsolatedCertificate: Record "Isolated Certificate"): DataScopeDeleteCertAndPasswordFromIsolatedStorage(IsolatedCertificate: Record "Isolated Certificate")GetUploadedCertFileName(): TextSetCertPassword(CertificatePassword: SecretText)Δ BC24 + BC24 − BC27ReadCertFromStream(Password: SecretText; var InStr: InStream)+ BC27ValidateCertFields(var IsolatedCertificate: Record "Isolated Certificate")Δ BC27GetRawCertDataAsBase64String(IsolatedCertificate: Record "Isolated Certificate"): TextVerifyCertFromBase64(Base64String: Text): BooleanGetCertSimpleName(IsolatedCertificate: Record "Isolated Certificate"): TextGetCertPrivateKey(IsolatedCertificate: Record "Isolated Certificate"; var SignatureKey: Codeunit "Signature Key")GetPublicKeyAsBase64String(FullCertificateBase64: Text; Password: SecretText): TextΔ BC24 + BC24 − BC27
Plus 5 local procedures.
Triggers
OnRun
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 3043 “DotNet_X509Certificate2” (13 calls:
ConvertCertToDotNetFromBase64 → X509Certificate2,GetCertPrivateKey → PrivateKey,GetCertSimpleName → GetX509Certificate2, …) - Codeunit 4100 “Temp Blob” (5 calls:
ReadCertFromBlob → CreateInStream,SaveCertToIsolatedStorage → CreateInStream,SaveCertToIsolatedStorage → HasValue, …) - Codeunit 4110 “Base64 Convert” (4 calls:
ReadCertFromBlob → ToBase64,ReadCertFromStream → ToBase64,SaveCertToIsolatedStorage → ToBase64, …) - Codeunit 3000 “DotNet_Array” (3 calls:
ConvertCertToDotNetFromBase64 → SetArray,ReadCertFromBlob → SetArray,ReadCertFromStream → SetArray) - Codeunit 3041 “DotNet_X509KeyStorageFlags” (3 calls:
ConvertCertToDotNetFromBase64 → Exportable,ReadCertFromBlob → Exportable,ReadCertFromStream → Exportable) - Codeunit 419 “File Management” (2 calls:
UploadAndVerifyCert → BLOBImportWithFilter,UploadAndVerifyCert → GetFileName) - Codeunit 1266 “Cryptography Management” (1 call:
SavePasswordToIsolatedStorage → IsEncryptionEnabled) - Codeunit 1474 “Signature Key” (1 call:
GetCertPrivateKey → FromXmlString) - Codeunit 3058 “DotNet_AsymmetricAlgorithm” (1 call:
GetCertPrivateKey → ToXmlString) - Codeunit 3750 “DotNetHelper_SecureString” (1 call:
GetPasswordAsSecureString → SecureStringFromString)
Called by
- Page 1263 “Certificate” (6 calls:
HandleExpiredCert → GetUploadedCertFileName,OnOpenPage → UploadAndVerifyCert,SaveCertToIsolatedStorage → DeleteCertAndPasswordFromIsolatedStorage, …) - Table 1262 “Isolated Certificate” (2 calls:
ExistsInIsolatedStorage → GetCertDataScope,OnDelete → DeleteCertAndPasswordFromIsolatedStorage)
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: "Certificate Management"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.