summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDongsun Lee <ds73.lee@samsung.com>2016-10-27 12:58:17 +0900
committerDongsun Lee <ds73.lee@samsung.com>2016-10-31 13:48:01 +0900
commitb424b39ade2480dcb30a897d0d8b3dcfb6c2a901 (patch)
tree273e676236c90c02647eee993d6f17d41fddfdde
parent63cde26e67a7d4338ce65ffed0412dfcb4d5a56b (diff)
downloadsecurity-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>
-rwxr-xr-xTizen.Security.SecureRepository/Tizen.Security.SecureRepository/Certificate.cs3
-rwxr-xr-xTizen.Security.SecureRepository/Tizen.Security.SecureRepository/Key.cs5
-rwxr-xr-xTizen.Security.SecureRepository/Tizen.Security.SecureRepository/Pkcs12.cs11
-rw-r--r--packaging/csapi-security.spec2
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