diff options
author | Dongsun Lee <ds73.lee@samsung.com> | 2016-10-27 12:58:17 +0900 |
---|---|---|
committer | Dongsun Lee <ds73.lee@samsung.com> | 2016-10-31 13:48:01 +0900 |
commit | b424b39ade2480dcb30a897d0d8b3dcfb6c2a901 (patch) | |
tree | 273e676236c90c02647eee993d6f17d41fddfdde | |
parent | 63cde26e67a7d4338ce65ffed0412dfcb4d5a56b (diff) | |
download | security-b424b39ade2480dcb30a897d0d8b3dcfb6c2a901.tar.gz security-b424b39ade2480dcb30a897d0d8b3dcfb6c2a901.tar.bz2 security-b424b39ade2480dcb30a897d0d8b3dcfb6c2a901.zip |
Add defense code for null input
Change-Id: Id9c5563d3789853432b5d88bb54f4babbbaa3600
Signed-off-by: Dongsun Lee <ds73.lee@samsung.com>
4 files changed, 10 insertions, 11 deletions
diff --git a/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository/Certificate.cs b/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository/Certificate.cs index 91236c1..0dfaae2 100755 --- a/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository/Certificate.cs +++ b/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository/Certificate.cs @@ -81,7 +81,8 @@ namespace Tizen.Security.SecureRepository internal CkmcCert ToCkmcCert() { - return new Interop.CkmcCert(new PinnedObject(Binary), Binary.Length, (int)Format); + byte[] bin = (Binary != null) ? Binary : new byte[0]; + return new Interop.CkmcCert(new PinnedObject(bin), bin.Length, (int)Format); } /// <summary> diff --git a/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository/Key.cs b/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository/Key.cs index c64b32b..615f2a9 100755 --- a/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository/Key.cs +++ b/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository/Key.cs @@ -76,8 +76,9 @@ namespace Tizen.Security.SecureRepository internal CkmcKey ToCkmcKey() { - return new Interop.CkmcKey(new PinnedObject(Binary), - Binary.Length, + byte[] bin = (Binary != null) ? Binary : new byte[0] ; + return new Interop.CkmcKey(new PinnedObject(bin), + bin.Length, (int)Type, new PinnedObject(BinaryPassword)); } diff --git a/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository/Pkcs12.cs b/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository/Pkcs12.cs index e682c65..cc5c52c 100755 --- a/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository/Pkcs12.cs +++ b/Tizen.Security.SecureRepository/Tizen.Security.SecureRepository/Pkcs12.cs @@ -116,13 +116,10 @@ namespace Tizen.Security.SecureRepository internal CkmcPkcs12 ToCkmcPkcs12() { - Interop.CkmcKey ckmcKey = new Interop.CkmcKey(new PinnedObject(PrivateKey.Binary), - PrivateKey.Binary.Length, - (int)PrivateKey.Type, - new PinnedObject(PrivateKey.BinaryPassword)); - Interop.CkmcCert ckmcCert = new Interop.CkmcCert(new PinnedObject(Certificate.Binary), - Certificate.Binary.Length, - (int)Certificate.Format); + Interop.CkmcKey ckmcKey = (PrivateKey != null) ? + PrivateKey.ToCkmcKey() : new Interop.CkmcKey(IntPtr.Zero, 0, 0, IntPtr.Zero); + Interop.CkmcCert ckmcCert = (Certificate != null) ? + Certificate.ToCkmcCert() : new Interop.CkmcCert(IntPtr.Zero, 0, 0); SafeCertificateListHandle ckmcCaCerts = new SafeCertificateListHandle(CaChain); return new Interop.CkmcPkcs12(new PinnedObject(ckmcKey), diff --git a/packaging/csapi-security.spec b/packaging/csapi-security.spec index 54cdb67..1891860 100644 --- a/packaging/csapi-security.spec +++ b/packaging/csapi-security.spec @@ -8,7 +8,7 @@ Name: csapi-security Summary: Tizen Security API for C# -Version: 1.0.1 +Version: 1.0.2 Release: 1 Group: Development/Libraries License: Apache-2.0 |