Skip to content
This repository has been archived by the owner on Nov 16, 2023. It is now read-only.

Add symmetric encryption & tests #112

Open
wants to merge 5 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions BaseApp/COD3025.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,21 @@ OBJECT Codeunit 3025 DotNet_StreamWriter
DotNetStreamWriter@1001 : DotNet "'mscorlib'.System.IO.StreamWriter";

[External]
[LineStart(57)]
[LineStart(2)]
PROCEDURE Write@6(Text@1000 : Text);
BEGIN
DotNetStreamWriter.Write(Text);
END;

[External]
[LineStart(60)]
[LineStart(5)]
PROCEDURE WriteLine@2(LineText@1000 : Text);
BEGIN
DotNetStreamWriter.WriteLine(LineText);
END;

[External]
[LineStart(63)]
[LineStart(8)]
PROCEDURE StreamWriter@1(VAR OutStream@1000 : OutStream;DotNet_Encoding@1001 : Codeunit DotNet_Encoding);
VAR
DotNetEncoding@1002 : DotNet "'mscorlib'.System.Text.Encoding";
Expand All @@ -42,7 +42,7 @@ OBJECT Codeunit 3025 DotNet_StreamWriter
END;

[External]
[LineStart(67)]
[LineStart(12)]
PROCEDURE StreamWriterFromDotNetStream@1000000001(VAR DotNet_Stream@1000 : Codeunit DotNet_Stream;DotNet_Encoding@1001 : Codeunit DotNet_Encoding);
VAR
DotNetEncoding@1002 : DotNet "'mscorlib'.System.Text.Encoding";
Expand All @@ -54,40 +54,40 @@ OBJECT Codeunit 3025 DotNet_StreamWriter
END;

[External]
[LineStart(72)]
[LineStart(17)]
PROCEDURE StreamWriterWithDefaultEncoding@7(VAR OutStream@1000 : OutStream);
BEGIN
DotNetStreamWriter := DotNetStreamWriter.StreamWriter(OutStream);
END;

[External]
[LineStart(75)]
[LineStart(20)]
PROCEDURE Flush@3();
BEGIN
DotNetStreamWriter.Flush;
END;

[External]
[LineStart(78)]
[LineStart(23)]
PROCEDURE Close@4();
BEGIN
DotNetStreamWriter.Close;
END;

[External]
[LineStart(81)]
[LineStart(26)]
PROCEDURE Dispose@5();
BEGIN
DotNetStreamWriter.Dispose;
END;

[LineStart(84)]
[LineStart(29)]
PROCEDURE GetStreamWriter@1000000000(VAR DotNetStreamWriter2@1000000000 : DotNet "'mscorlib'.System.IO.StreamWriter");
BEGIN
DotNetStreamWriter2 := DotNetStreamWriter;
END;

[LineStart(87)]
[LineStart(32)]
PROCEDURE SetStreamWriter@1000000002(VAR DotNetStreamWriter2@1000000000 : DotNet "'mscorlib'.System.IO.StreamWriter");
BEGIN
DotNetStreamWriter := DotNetStreamWriter2;
Expand Down
22 changes: 11 additions & 11 deletions BaseApp/COD3027.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ OBJECT Codeunit 3027 DotNet_StreamReader
DotNetStreamReader@1000 : DotNet "'mscorlib'.System.IO.StreamReader";

[External]
[LineStart(92)]
[LineStart(37)]
PROCEDURE StreamReader@1(VAR InputStream@1000 : InStream;DotNet_Encoding@1001 : Codeunit DotNet_Encoding);
VAR
DotNetEncoding@1002 : DotNet "'mscorlib'.System.Text.Encoding";
Expand All @@ -28,7 +28,7 @@ OBJECT Codeunit 3027 DotNet_StreamReader
END;

[External]
[LineStart(96)]
[LineStart(41)]
PROCEDURE StreamReaderFromDotNetStream@1000000000(VAR DotNet_Stream@1000 : Codeunit DotNet_Stream;DotNet_Encoding@1001 : Codeunit DotNet_Encoding);
VAR
DotNetEncoding@1002 : DotNet "'mscorlib'.System.Text.Encoding";
Expand All @@ -41,61 +41,61 @@ OBJECT Codeunit 3027 DotNet_StreamReader
END;

[External]
[LineStart(102)]
[LineStart(47)]
PROCEDURE StreamReaderDetectEncoding@2(VAR InputStream@1000 : InStream;DetectEncodingFromByteOrderMarks@1001 : Boolean);
BEGIN
DotNetStreamReader := DotNetStreamReader.StreamReader(InputStream,DetectEncodingFromByteOrderMarks);
END;

[External]
[LineStart(105)]
[LineStart(50)]
PROCEDURE Close@3();
BEGIN
DotNetStreamReader.Close;
END;

[External]
[LineStart(108)]
[LineStart(53)]
PROCEDURE Dispose@4();
BEGIN
DotNetStreamReader.Dispose;
END;

[External]
[LineStart(111)]
[LineStart(56)]
PROCEDURE EndOfStream@6() : Boolean;
BEGIN
exit(DotNetStreamReader.EndOfStream);
END;

[External]
[LineStart(114)]
[LineStart(59)]
PROCEDURE CurrentEncoding@7(VAR DotNet_Encoding@1000 : Codeunit DotNet_Encoding);
BEGIN
DotNet_Encoding.SetEncoding(DotNetStreamReader.CurrentEncoding);
END;

[External]
[LineStart(117)]
[LineStart(62)]
PROCEDURE ReadLine@8() : Text;
BEGIN
exit(DotNetStreamReader.ReadLine);
END;

[External]
[LineStart(120)]
[LineStart(65)]
PROCEDURE ReadToEnd@9() : Text;
BEGIN
exit(DotNetStreamReader.ReadToEnd);
END;

[LineStart(123)]
[LineStart(68)]
PROCEDURE GetStreamReader@1000000001(VAR DotNetStreamReader2@1000000000 : DotNet "'mscorlib'.System.IO.StreamReader");
BEGIN
DotNetStreamReader2 := DotNetStreamReader;
END;

[LineStart(126)]
[LineStart(71)]
PROCEDURE SetStreamReader@1000000002(VAR DotNetStreamReader2@1000000000 : DotNet "'mscorlib'.System.IO.StreamReader");
BEGIN
DotNetStreamReader := DotNetStreamReader2;
Expand Down
92 changes: 56 additions & 36 deletions BaseApp/COD50010.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -16,38 +16,38 @@ OBJECT Codeunit 50010 DotNet_SymmetricAlgorithm
{
VAR
DotNetSymmetricAlgorithm@1000000000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Security.Cryptography.SymmetricAlgorithm";
EALGORITHM@1000000001 : TextConst 'ENU=Invalid Algorithm';
E_INVALID_ALGORITHM@1000000001 : TextConst 'ENU=Invalid Algorithm';

[External]
[LineStart(131)]
[LineStart(76)]
PROCEDURE GetBlockSize@1000000000() : Integer;
BEGIN
exit(DotNetSymmetricAlgorithm.BlockSize);
END;

[External]
[LineStart(134)]
[LineStart(79)]
PROCEDURE SetBlockSize@1000000027(BlockSize@1000000000 : Integer);
BEGIN
DotNetSymmetricAlgorithm.BlockSize := BlockSize;
END;

[External]
[LineStart(137)]
[LineStart(82)]
PROCEDURE GetFeedbackSize@1000000007() : Integer;
BEGIN
exit(DotNetSymmetricAlgorithm.FeedbackSize);
END;

[External]
[LineStart(140)]
[LineStart(85)]
PROCEDURE SetFeedbackSize@1000000006(FeedbackSize@1000000000 : Integer);
BEGIN
DotNetSymmetricAlgorithm.FeedbackSize := FeedbackSize;
END;

[External]
[LineStart(143)]
[LineStart(88)]
PROCEDURE GetIV@1000000001(VAR DotNet_Array@1000000000 : Codeunit DotNet_Array);
VAR
DotNetArray@1000000001 : DotNet "'mscorlib'.System.Array";
Expand All @@ -58,7 +58,7 @@ OBJECT Codeunit 50010 DotNet_SymmetricAlgorithm
END;

[External]
[LineStart(148)]
[LineStart(93)]
PROCEDURE SetIV@1000000023(VAR DotNet_Array@1000000000 : Codeunit DotNet_Array);
VAR
DotNetArray@1000000001 : DotNet "'mscorlib'.System.Array";
Expand All @@ -68,7 +68,7 @@ OBJECT Codeunit 50010 DotNet_SymmetricAlgorithm
END;

[External]
[LineStart(152)]
[LineStart(97)]
PROCEDURE GetKey@1000000002(VAR DotNet_Array@1000000000 : Codeunit DotNet_Array);
VAR
DotNetArray@1000000001 : DotNet "'mscorlib'.System.Array";
Expand All @@ -79,7 +79,7 @@ OBJECT Codeunit 50010 DotNet_SymmetricAlgorithm
END;

[External]
[LineStart(157)]
[LineStart(102)]
PROCEDURE SetKey@1000000021(VAR DotNet_Array@1000000000 : Codeunit DotNet_Array);
VAR
DotNetArray@1000000001 : DotNet "'mscorlib'.System.Array";
Expand All @@ -89,84 +89,104 @@ OBJECT Codeunit 50010 DotNet_SymmetricAlgorithm
END;

[External]
[LineStart(161)]
[LineStart(106)]
PROCEDURE GetKeySize@1000000003() : Integer;
BEGIN
exit(DotNetSymmetricAlgorithm.KeySize);
END;

[External]
[LineStart(164)]
[LineStart(109)]
PROCEDURE SetKeySize@1000000018(KeySize@1000000000 : Integer);
BEGIN
DotNetSymmetricAlgorithm.KeySize := KeySize;
END;

[External]
[LineStart(167)]
PROCEDURE GetMode@1000000004(VAR Mode@1000000000 : ',CBC,ECB,OFB,CFB,CTS');
[LineStart(112)]
PROCEDURE GetMode@1000000004(VAR DotNet_CipherMode@1000000000 : Codeunit DotNet_CipherMode);
VAR
CipherMode@1000000001 : Integer;
DotNetCipherMode@1000000001 : DotNet "'mscorlib'.System.Security.Cryptography.CipherMode";
BEGIN
CipherMode := DotNetSymmetricAlgorithm.Mode;
Mode := CipherMode;
DotNetCipherMode := DotNetSymmetricAlgorithm.Mode;
DotNet_CipherMode.SetCipherMode(DotNetCipherMode);
END;

[External]
[LineStart(171)]
PROCEDURE SetMode@1000000020(Mode@1000000000 : ',CBC,ECB,OFB,CFB,CTS');
[LineStart(116)]
PROCEDURE SetMode@1000000020(VAR DotNet_CipherMode@1000000000 : Codeunit DotNet_CipherMode);
VAR
CipherMode@1000000001 : Integer;
DotNetCipherMode@1000000001 : DotNet "'mscorlib'.System.Security.Cryptography.CipherMode";
BEGIN
CipherMode := Mode;
DotNetSymmetricAlgorithm.Mode := CipherMode;
DotNet_CipherMode.GetCipherMode(DotNetCipherMode);
DotNetSymmetricAlgorithm.Mode := DotNetCipherMode;
END;

[External]
[LineStart(175)]
PROCEDURE GetPadding@1000000005(VAR Padding@1000000000 : ',None,PKCS7,Zeros,ANSIX923,ISO10126');
[LineStart(120)]
PROCEDURE GetPadding@1000000005(VAR DotNet_PaddingMode@1000000001 : Codeunit DotNet_PaddingMode) : Integer;
quadfin marked this conversation as resolved.
Show resolved Hide resolved
VAR
PaddingMode@1000000001 : Integer;
DotNetPaddingMode@1000000000 : DotNet "'mscorlib'.System.Security.Cryptography.PaddingMode";
BEGIN
PaddingMode := DotNetSymmetricAlgorithm.Padding;
Padding := PaddingMode;
DotNetPaddingMode := DotNetSymmetricAlgorithm.Padding;
DotNet_PaddingMode.SetPaddingMode(DotNetPaddingMode);
END;

[External]
[LineStart(179)]
PROCEDURE SetPadding@1000000019(Padding@1000000000 : ',None,PKCS7,Zeros,ANSIX923,ISO10126');
[LineStart(124)]
PROCEDURE SetPadding@1000000019(VAR DotNet_PaddingMode@1000000002 : Codeunit DotNet_PaddingMode);
VAR
PaddingMode@1000000001 : Integer;
DotNetPaddingMode@1000000001 : DotNet "'mscorlib'.System.Security.Cryptography.PaddingMode";
BEGIN
PaddingMode := Padding;
DotNetSymmetricAlgorithm.Padding := PaddingMode;
DotNet_PaddingMode.GetPaddingMode(DotNetPaddingMode);
DotNetSymmetricAlgorithm.Padding := DotNetPaddingMode;
END;

[External]
[LineStart(183)]
[LineStart(128)]
PROCEDURE Create@1000000028(Algorithm@1000000000 : Text);
BEGIN
if not (UpperCase(Algorithm) in ['AES','DES','RC2','RIJNDAEL','TRIPLEDES']) then
Error(EALGORITHM);
Error(E_INVALID_ALGORITHM);
Dispose();
DotNetSymmetricAlgorithm := DotNetSymmetricAlgorithm.Create(Algorithm);
END;

[External]
[LineStart(189)]
[LineStart(134)]
PROCEDURE Dispose@1000000008();
BEGIN
if not IsNull(DotNetSymmetricAlgorithm) then
DotNetSymmetricAlgorithm.Dispose();
END;

[LineStart(193)]
[External]
[LineStart(138)]
PROCEDURE CreateEncryptor@1000000009(VAR DotNet_ICryptoTransform@1000000000 : Codeunit DotNet_ICryptoTransform);
VAR
DotNetICryptoTransform@1000000001 : DotNet "'mscorlib'.System.Security.Cryptography.ICryptoTransform";
BEGIN
DotNetICryptoTransform := DotNetSymmetricAlgorithm.CreateEncryptor();
DotNet_ICryptoTransform.SetICryptoTransform(DotNetICryptoTransform);
END;

[External]
[LineStart(142)]
PROCEDURE CreateDecryptor@1000000015(VAR DotNet_ICryptoTransform@1000000000 : Codeunit DotNet_ICryptoTransform);
VAR
DotNetICryptoTransform@1000000001 : DotNet "'mscorlib'.System.Security.Cryptography.ICryptoTransform";
BEGIN
DotNetICryptoTransform := DotNetSymmetricAlgorithm.CreateDecryptor();
DotNet_ICryptoTransform.SetICryptoTransform(DotNetICryptoTransform);
END;

[LineStart(146)]
PROCEDURE GetSymmetricAlgorithm@1000000013(VAR DotNetSymmetricAlgorithm2@1000000000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Security.Cryptography.SymmetricAlgorithm");
BEGIN
DotNetSymmetricAlgorithm2 := DotNetSymmetricAlgorithm;
END;

[LineStart(196)]
[LineStart(149)]
PROCEDURE SetSymmetricAlgorithm@1000000014(VAR DotNetSymmetricAlgorithm2@1000000000 : DotNet "'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.System.Security.Cryptography.SymmetricAlgorithm");
BEGIN
DotNetSymmetricAlgorithm := DotNetSymmetricAlgorithm2;
Expand Down
Loading