4 <name>Tizen.Security.SecureRepository</name>
7 <member name="T:Tizen.Security.SecureRepository.Certificate">
9 Class that represents a certificate.
11 <since_tizen> 3 </since_tizen>
13 <member name="M:Tizen.Security.SecureRepository.Certificate.Load(System.String)">
15 Load Certificate from the given file path.
17 <since_tizen> 3 </since_tizen>
18 <param name="filePath">The path of certificate file to be loaded.</param>
19 <returns>Loaded certificate class instance.</returns>
20 <exception cref="T:System.ArgumentNullException">
21 filePath should not be null
23 <exception cref="T:System.InvalidOperationException">
24 Invalid certificate file format. Provided file path does not exist or
28 <member name="M:Tizen.Security.SecureRepository.Certificate.#ctor(System.Byte[],Tizen.Security.SecureRepository.DataFormat)">
30 A constructor of Certificate that takes the binary and its format.
32 <since_tizen> 3 </since_tizen>
33 <param name="binary">The binary data of a certificate.</param>
34 <param name="format">The format of the binary data.</param>
36 <member name="P:Tizen.Security.SecureRepository.Certificate.Binary">
38 The binary value of a certificate.
40 <since_tizen> 3 </since_tizen>
42 <member name="P:Tizen.Security.SecureRepository.Certificate.Format">
44 The format of the binary value.
46 <since_tizen> 3 </since_tizen>
48 <member name="T:Tizen.Security.SecureRepository.CertificateManager">
50 This class provides the methods handling certificates.
52 <since_tizen> 3 </since_tizen>
54 <member name="M:Tizen.Security.SecureRepository.CertificateManager.Get(System.String,System.String)">
56 Gets a certificate from secure repository.
58 <since_tizen> 3 </since_tizen>
59 <param name="alias">The name of a certificate to retrieve.</param>
60 <param name="password">
61 The password used in decrypting a certificate value. If password of
62 policy is provided in SaveCertificate(), the same password should be
65 <returns>A certificate specified by alias.</returns>
66 <exception cref="T:System.ArgumentNullException">
67 Alias argument is null
69 <exception cref="T:System.ArgumentException">
70 Alias argument is invalid format.
72 <exception cref="T:System.InvalidOperationException">
73 Certificate does not exist with the alias or certificate-protecting
74 password isn't matched.
77 <member name="M:Tizen.Security.SecureRepository.CertificateManager.GetAliases">
79 Gets all alias of certificates which the client can access.
81 <since_tizen> 3 </since_tizen>
82 <returns>All alias of certificates which the client can access.</returns>
83 <exception cref="T:System.ArgumentException">No alias to get.</exception>
85 <member name="M:Tizen.Security.SecureRepository.CertificateManager.Save(System.String,Tizen.Security.SecureRepository.Certificate,Tizen.Security.SecureRepository.Policy)">
87 Stores a certificate inside secure repository based on the provided policy.
89 <since_tizen> 3 </since_tizen>
90 <param name="alias">The name of a certificate to be stored.</param>
91 <param name="cert">The certificate's binary value to be stored.</param>
93 The policy about how to store a certificate securely.
95 <exception cref="T:System.ArgumentNullException">
96 Any of argument is null.
98 <exception cref="T:System.ArgumentException">
99 Alias argument is invalid format. cert argument is invalid format.
101 <exception cref="T:System.InvalidOperationException">
102 Certificate with alias does already exist.
105 <member name="M:Tizen.Security.SecureRepository.CertificateManager.GetCertificateChain(Tizen.Security.SecureRepository.Certificate,System.Collections.Generic.IEnumerable{Tizen.Security.SecureRepository.Certificate})">
107 Verifies a certificate chain and returns that chain.
109 <since_tizen> 3 </since_tizen>
110 <param name="certificate">The certificate to be verified.</param>
111 <param name="untrustedCertificates">
112 The untrusted CA certificates to be used in verifying a certificate chain.
114 <returns>A newly created certificate chain.</returns>
115 <exception cref="T:System.ArgumentNullException">
116 certificate argument is null.
118 <exception cref="T:System.ArgumentException">
119 Some of certificate in arguments is invalid.
121 <exception cref="T:System.InvalidOperationException">
122 Some of certificate in arguments is expired or not valid yet.
123 Certificate cannot build chain.
124 Root certificate is not in trusted system certificate store.
127 The trusted root certificate of the chain should exist in the system's
131 The trusted root certificate of the chain in system's certificate storage
132 is added to the certificate chain.
135 <member name="M:Tizen.Security.SecureRepository.CertificateManager.GetCertificateChain(Tizen.Security.SecureRepository.Certificate,System.Collections.Generic.IEnumerable{Tizen.Security.SecureRepository.Certificate},System.Collections.Generic.IEnumerable{Tizen.Security.SecureRepository.Certificate},System.Boolean)">
137 Verifies a certificate chain and returns that chain using user entered
138 trusted and untrusted CA certificates.
140 <since_tizen> 3 </since_tizen>
141 <param name="certificate">The certificate to be verified.</param>
142 <param name="untrustedCertificates">
143 The untrusted CA certificates to be used in verifying a certificate chain.
145 <param name="trustedCertificates">
146 The trusted CA certificates to be used in verifying a certificate chain.
148 <param name="useTrustedSystemCertificates">
149 The flag indicating the use of the trusted root certificates in the
150 system's certificate storage.
152 <returns>A newly created certificate chain.</returns>
153 <exception cref="T:System.ArgumentNullException">
154 certificate argument is null.
156 <exception cref="T:System.ArgumentException">
157 Some of certificate in arguments is invalid.
159 <exception cref="T:System.InvalidOperationException">
160 Some of certificate in arguments is expired or not valid yet.
161 Certificate cannot build chain.
162 Root certificate is not in trusted system certificate store.
165 The trusted root certificate of the chain in system's certificate storage
166 is added to the certificate chain.
169 <member name="M:Tizen.Security.SecureRepository.CertificateManager.CheckOcsp(System.Collections.Generic.IEnumerable{Tizen.Security.SecureRepository.Certificate})">
171 Perform OCSP which checks certificate is whether revoked or not.
173 <since_tizen> 3 </since_tizen>
174 <param name="certificateChain">
175 Valid certificate chain to perform OCSP check.
177 <returns>A status result of OCSP check.</returns>
178 <exception cref="T:System.ArgumentNullException">
179 certificateChain argument is null.
181 <exception cref="T:System.ArgumentException">
182 certificateChain is not valid chain or certificate.
184 <exception cref="T:System.InvalidOperationException">
185 some of certificate in chain is expired or not valid yet.
188 <member name="T:Tizen.Security.SecureRepository.Crypto.AesCbcCipherParameters">
190 A class holding parameters for AES algorithm with CBC mode.
192 <since_tizen> 3 </since_tizen>
194 <member name="M:Tizen.Security.SecureRepository.Crypto.AesCbcCipherParameters.#ctor">
196 A default constructor
198 <since_tizen> 3 </since_tizen>
199 <remarks>The CipherAlgorithmType in CipherParameters is set to CipherAlgorithmType.AesCbc.</remarks>
201 <member name="T:Tizen.Security.SecureRepository.Crypto.AesCfbCipherParameters">
203 A class holding parameters for AES algorithm with CFB mode.
205 <since_tizen> 3 </since_tizen>
207 <member name="M:Tizen.Security.SecureRepository.Crypto.AesCfbCipherParameters.#ctor">
209 A default constructor
211 <since_tizen> 3 </since_tizen>
212 <remarks>The CipherAlgorithmType in CipherParameters is set to CipherAlgorithmType.AesCfb.</remarks>
214 <member name="T:Tizen.Security.SecureRepository.Crypto.AesCipherParameters">
216 A abstract class holding parameters for AES algorithm.
218 <since_tizen> 3 </since_tizen>
220 <member name="P:Tizen.Security.SecureRepository.Crypto.AesCipherParameters.IV">
222 An initialization vector.
224 <since_tizen> 3 </since_tizen>
226 <member name="T:Tizen.Security.SecureRepository.Crypto.AesCtrCipherParameters">
228 A class holding parameters for AES algorithm with counter mode.
230 <since_tizen> 3 </since_tizen>
232 <member name="M:Tizen.Security.SecureRepository.Crypto.AesCtrCipherParameters.#ctor">
234 A default constructor
236 <since_tizen> 3 </since_tizen>
237 <remarks>The CipherAlgorithmType in CipherParameters is set to CipherAlgorithmType.AesCtr.</remarks>
239 <member name="P:Tizen.Security.SecureRepository.Crypto.AesCtrCipherParameters.CounterLength">
241 Length of counter block in bits.
243 <since_tizen> 3 </since_tizen>
244 <remarks>Optional, only 128b is supported at the moment.</remarks>
245 <exception cref="T:System.ArgumentOutOfRangeException">value should be positive.</exception>
247 <member name="T:Tizen.Security.SecureRepository.Crypto.AesGcmCipherParameters">
249 A class holding parameters for AES algorithm with GCM mode.
251 <since_tizen> 3 </since_tizen>
253 <member name="M:Tizen.Security.SecureRepository.Crypto.AesGcmCipherParameters.#ctor">
255 A default constructor
257 <since_tizen> 3 </since_tizen>
258 <remarks>The CipherAlgorithmType in CipherParameters is set to CipherAlgorithmType.AesGcm.</remarks>
260 <member name="P:Tizen.Security.SecureRepository.Crypto.AesGcmCipherParameters.TagLength">
262 GCM tag length in bits.
264 <since_tizen> 3 </since_tizen>
265 <remarks>One of {32, 64, 96, 104, 112, 120, 128} (optional, if not present the length 128 is used.</remarks>
266 <exception cref="T:System.ArgumentOutOfRangeException">TagLength should be one of {32, 64, 96, 104, 112, 120, 128}</exception>
268 <member name="P:Tizen.Security.SecureRepository.Crypto.AesGcmCipherParameters.AAD">
270 Additional authentication data(optional)
272 <since_tizen> 3 </since_tizen>
274 <member name="T:Tizen.Security.SecureRepository.Crypto.Cipher">
276 This class provides the methods encrypting and decrypting data.
278 <since_tizen> 3 </since_tizen>
280 <member name="M:Tizen.Security.SecureRepository.Crypto.Cipher.#ctor(Tizen.Security.SecureRepository.Crypto.CipherParameters)">
282 A constructor of Cipher that takes the algorithm specific parameters.
284 <since_tizen> 3 </since_tizen>
285 <param name="parameters">The algorithm specific parameters.</param>
287 <member name="P:Tizen.Security.SecureRepository.Crypto.Cipher.Parameters">
289 The algorithm specific parameters.
291 <since_tizen> 3 </since_tizen>
293 <member name="M:Tizen.Security.SecureRepository.Crypto.Cipher.Decrypt(System.String,System.String,System.Byte[])">
295 Decrypts data using selected key and algorithm.
297 <since_tizen> 3 </since_tizen>
298 <param name="keyAlias">Alias of the key to be used for decryption.</param>
299 <param name="password">
300 The password used in decrypting a key value. If password of policy is
301 provided in SaveKey(), the same password should be provided
303 <param name="cipherText">
304 Data to be decrypted (some algorithms may require additional information
305 embedded in encrypted data.AES GCM is an example).
307 <returns>Decrypted data.</returns>
308 <exception cref="T:System.ArgumentNullException">
309 keyAlias or cipherText is null.
311 <exception cref="T:System.ArgumentException">
312 Mandatory algorithm parameter is missing or invalid.
313 Optional algorithm parameter is invalid.
315 <exception cref="T:System.InvalidOperationException">
316 Key-protecting password isn't matched.
317 Key does not exist with keyAlias.
320 The key type specified by keyAlias should be compatible with the algorithm
321 specified in Parameters.
324 <member name="M:Tizen.Security.SecureRepository.Crypto.Cipher.Encrypt(System.String,System.String,System.Byte[])">
326 Encrypts data using selected key and algorithm.
328 <since_tizen> 3 </since_tizen>
329 <param name="keyAlias">Alias of the key to be used for encryption.</param>
330 <param name="password">
331 The password used in decrypting a key value. If password of policy is
332 provided in SaveKey(), the same password should be provided.
334 <param name="plainText">
335 Data to be encrypted. In case of AES algorithm there are no restrictions on
336 the size of data. For RSA the size must be smaller or equal to (key_size_in
337 bytes - 42). Example: for 1024 RSA key the maximum data size is
340 <returns>Encrypted data.</returns>
341 <exception cref="T:System.ArgumentNullException">
342 keyAlias or plainText is null.
344 <exception cref="T:System.ArgumentException">
345 Mandatory algorithm parameter is missing or invalid.
346 Optional algorithm parameter is invalid.
348 <exception cref="T:System.InvalidOperationException">
349 Key-protecting password isn't matched.
350 Key does not exist with keyAlias.
353 The key type specified by keyAlias should be compatible with the algorithm
354 specified in Parameters.
357 <member name="T:Tizen.Security.SecureRepository.Crypto.CipherAlgorithmType">
359 Enumeration for crypto cipher algorithm types.
361 <since_tizen> 3 </since_tizen>
363 <member name="F:Tizen.Security.SecureRepository.Crypto.CipherAlgorithmType.AesCtr">
366 Supported parameters:
367 - ParameterName.AlgorithmType = AesCtr(mandatory),
368 - ParameterName.IV = 16 - byte initialization vector(mandatory)
369 - ParameterName.CounterLength = length of counter block in bits
370 (optional, only 128b is supported at the moment)
373 <member name="F:Tizen.Security.SecureRepository.Crypto.CipherAlgorithmType.AesCbc">
376 Supported parameters:
377 - ParameterName.AlgorithmType = AesCbc(mandatory),
378 - ParameterName.IV = 16-byte initialization vector(mandatory)
381 <member name="F:Tizen.Security.SecureRepository.Crypto.CipherAlgorithmType.AesGcm">
384 Supported parameters:
385 - ParameterName.AlgorithmType = AesGcm(mandatory),
386 - ParameterName.IV = initialization vector(mandatory)
387 - ParameterName.TagLength = GCM tag length in bits. One of
388 {32, 64, 96, 104, 112, 120, 128} (optional, if not present the length 128 is used)
389 - CKMC_PARAM_ED_AAD = additional authentication data(optional)
392 <member name="F:Tizen.Security.SecureRepository.Crypto.CipherAlgorithmType.AesCfb">
395 Supported parameters:
396 - ParameterName.AlgorithmType = AesCfb(mandatory),
397 - ParameterName.IV = 16-byte initialization vector(mandatory)
400 <member name="F:Tizen.Security.SecureRepository.Crypto.CipherAlgorithmType.RsaOaep">
403 Supported parameters:
404 - ParameterName.AlgorithmType = RsaOaep(required),
405 - ParameterName.Label = label to be associated with the message
406 (optional, not supported at the moment)
409 <member name="T:Tizen.Security.SecureRepository.Crypto.CipherParameterName">
411 Enumeration for cipher algorithm parameters.
413 <since_tizen> 3 </since_tizen>
415 <member name="F:Tizen.Security.SecureRepository.Crypto.CipherParameterName.AlgorithmType">
420 <member name="F:Tizen.Security.SecureRepository.Crypto.CipherParameterName.IV">
422 Initial Vector, 16B buffer (up to 2^64-1 bytes long in case of AES GCM)
425 <member name="F:Tizen.Security.SecureRepository.Crypto.CipherParameterName.CounterLength">
427 Integer - ctr length in bits
430 <member name="F:Tizen.Security.SecureRepository.Crypto.CipherParameterName.AAD">
432 Additional authenticated data(AAD)
435 <member name="F:Tizen.Security.SecureRepository.Crypto.CipherParameterName.TagLength">
440 <member name="F:Tizen.Security.SecureRepository.Crypto.CipherParameterName.Label">
445 <member name="T:Tizen.Security.SecureRepository.Crypto.CipherParameters">
447 A abstract class holding parameters for encryption and decryption.
449 <since_tizen> 3 </since_tizen>
451 <member name="P:Tizen.Security.SecureRepository.Crypto.CipherParameters.Algorithm">
453 Cipher algorithm type.
455 <since_tizen> 3 </since_tizen>
457 <member name="T:Tizen.Security.SecureRepository.Crypto.DsaSignatureParameters">
459 A class holding parameters for DSA signature algorithm.
461 <since_tizen> 3 </since_tizen>
463 <member name="M:Tizen.Security.SecureRepository.Crypto.DsaSignatureParameters.#ctor">
465 A default constructor
467 <since_tizen> 3 </since_tizen>
469 <member name="T:Tizen.Security.SecureRepository.Crypto.EcdsaSignatureParameters">
471 A class holding parameters for ECDSA signature algorithm.
473 <since_tizen> 3 </since_tizen>
475 <member name="M:Tizen.Security.SecureRepository.Crypto.EcdsaSignatureParameters.#ctor">
477 A default constructor
479 <since_tizen> 3 </since_tizen>
481 <member name="T:Tizen.Security.SecureRepository.Crypto.HashAlgorithm">
483 Enumeration for hash algorithm
485 <since_tizen> 3 </since_tizen>
487 <member name="F:Tizen.Security.SecureRepository.Crypto.HashAlgorithm.None">
492 <member name="F:Tizen.Security.SecureRepository.Crypto.HashAlgorithm.Sha1">
497 <member name="F:Tizen.Security.SecureRepository.Crypto.HashAlgorithm.Sha256">
499 Hash Algorithm SHA256
502 <member name="F:Tizen.Security.SecureRepository.Crypto.HashAlgorithm.Sha384">
504 Hash Algorithm SHA384
507 <member name="F:Tizen.Security.SecureRepository.Crypto.HashAlgorithm.Sha512">
509 Hash Algorithm SHA512
512 <member name="T:Tizen.Security.SecureRepository.Crypto.RsaOaepCipherParameters">
514 A class holding parameters for RSA algorithm with OAEP mode.
516 <since_tizen> 3 </since_tizen>
518 <member name="M:Tizen.Security.SecureRepository.Crypto.RsaOaepCipherParameters.#ctor">
520 A default constructor
522 <since_tizen> 3 </since_tizen>
523 <remarks>The CipherAlgorithmType in CipherParameters is set to CipherAlgorithmType.RsaOaep.</remarks>
525 <member name="T:Tizen.Security.SecureRepository.Crypto.RsaPaddingAlgorithm">
527 Enumeration for RSA padding algorithm
529 <since_tizen> 3 </since_tizen>
531 <member name="F:Tizen.Security.SecureRepository.Crypto.RsaPaddingAlgorithm.None">
536 <member name="F:Tizen.Security.SecureRepository.Crypto.RsaPaddingAlgorithm.Pkcs1">
541 <member name="F:Tizen.Security.SecureRepository.Crypto.RsaPaddingAlgorithm.X931">
546 <member name="T:Tizen.Security.SecureRepository.Crypto.RsaSignatureParameters">
548 A class holding parameters for RSA signature algorithm.
550 <since_tizen> 3 </since_tizen>
552 <member name="M:Tizen.Security.SecureRepository.Crypto.RsaSignatureParameters.#ctor">
554 A default constructor
556 <since_tizen> 3 </since_tizen>
557 <remarks>The RsaPadding is set to RsaPaddingAlgorithm.None.</remarks>
559 <member name="P:Tizen.Security.SecureRepository.Crypto.RsaSignatureParameters.RsaPadding">
561 RSA padding algorithm
563 <since_tizen> 3 </since_tizen>
565 <member name="T:Tizen.Security.SecureRepository.Crypto.Signature">
567 This class provides the methods creating and verifying a signature.
569 <since_tizen> 3 </since_tizen>
571 <member name="M:Tizen.Security.SecureRepository.Crypto.Signature.#ctor(Tizen.Security.SecureRepository.Crypto.SignatureParameters)">
573 A constructor of Signature that takes the algorithm specific parameters.
575 <since_tizen> 3 </since_tizen>
576 <param name="parameters">The algorithm specific parameters.</param>
578 <member name="P:Tizen.Security.SecureRepository.Crypto.Signature.Parameters">
580 The algorithm specific parameters.
582 <since_tizen> 3 </since_tizen>
584 <member name="M:Tizen.Security.SecureRepository.Crypto.Signature.Sign(System.String,System.String,System.Byte[])">
586 Creates a signature on a given message using a private key and returns
589 <since_tizen> 3 </since_tizen>
590 <param name="privateKeyAlias">The name of private key.</param>
591 <param name="password">
592 The password used in decrypting a private key value.
594 <param name="message">The message that is signed with a private key.</param>
595 <returns>A newly created signature.</returns>
596 <exception cref="T:System.ArgumentNullException">
597 privateKeyAlias or message is null.
599 <exception cref="T:System.ArgumentException">
600 privateKeyAlias is invalid format.
602 <exception cref="T:System.InvalidOperationException">
603 Key-protecting password isn't matched.
604 Key does not exist with privateKeyAlias.
607 The key type specified by privateKeyAlias should be compatible with the
608 algorithm specified in Parameters.
611 If password of policy is provided during storing a key, the same password
615 <member name="M:Tizen.Security.SecureRepository.Crypto.Signature.Verify(System.String,System.String,System.Byte[],System.Byte[])">
617 Verifies a given signature on a given message using a public key and returns
618 the signature status.
620 <since_tizen> 3 </since_tizen>
621 <param name="publicKeyAlias">The name of public key.</param>
622 <param name="password">
623 The password used in decrypting a public key value.
625 <param name="message">The input on which the signature is created.</param>
626 <param name="signature">The signature that is verified with public key.</param>
628 The signature status. True is returned when the signature is valid.
630 <exception cref="T:System.ArgumentNullException">
631 publicKeyAlias, message or signature is null.
633 <exception cref="T:System.ArgumentException">
634 publicKeyAlias is invalid format.
636 <exception cref="T:System.InvalidOperationException">
637 Key-protecting password isn't matched.
638 Key does not exist with publicKeyAlias.
641 The key type specified by publicKeyAlias should be compatible with the
642 algorithm specified in Parameters.
645 If password of policy is provided during storing a key, the same password
649 <member name="T:Tizen.Security.SecureRepository.Crypto.SignatureAlgorithmType">
651 Enumeration for signature algorithm types.
653 <since_tizen> 3 </since_tizen>
655 <member name="F:Tizen.Security.SecureRepository.Crypto.SignatureAlgorithmType.Rsa">
657 RSA signature algorithm
660 <member name="F:Tizen.Security.SecureRepository.Crypto.SignatureAlgorithmType.Dsa">
662 DSA signature algorithm
665 <member name="F:Tizen.Security.SecureRepository.Crypto.SignatureAlgorithmType.Ecdsa">
667 ECDSA signature algorithm
670 <member name="T:Tizen.Security.SecureRepository.Crypto.SignatureParameterName">
672 Enumeration for signature algorithm parameters.
674 <since_tizen> 3 </since_tizen>
676 <member name="F:Tizen.Security.SecureRepository.Crypto.SignatureParameterName.AlgorithmType">
678 Signaturea Algorithm Type
681 <member name="F:Tizen.Security.SecureRepository.Crypto.SignatureParameterName.HashAlgorithm">
686 <member name="F:Tizen.Security.SecureRepository.Crypto.SignatureParameterName.RsaPaddingAlgorithm">
688 RSA Padding Algorithm Type
691 <member name="T:Tizen.Security.SecureRepository.Crypto.SignatureParameters">
693 A abstract class holding parameters for signing and verification.
695 <since_tizen> 3 </since_tizen>
697 <member name="P:Tizen.Security.SecureRepository.Crypto.SignatureParameters.SignatureAlgorithm">
699 Signature algorithm type.
701 <since_tizen> 3 </since_tizen>
703 <member name="P:Tizen.Security.SecureRepository.Crypto.SignatureParameters.HashAlgorithm">
705 Hash algorithm used in signing anve verification.
707 <since_tizen> 3 </since_tizen>
709 <member name="T:Tizen.Security.SecureRepository.DataFormat">
711 Enumeration for data format
713 <since_tizen> 3 </since_tizen>
715 <member name="F:Tizen.Security.SecureRepository.DataFormat.DerBase64">
717 DER format base64 encoded data
720 <member name="F:Tizen.Security.SecureRepository.DataFormat.Der">
725 <member name="F:Tizen.Security.SecureRepository.DataFormat.Pem">
727 PEM encoded data. It consists of the DER format base64 encoded
728 with additional header and footer lines.
731 <member name="T:Tizen.Security.SecureRepository.DataManager">
733 This class provides the methods storing and retrieving data.
735 <since_tizen> 3 </since_tizen>
737 <member name="M:Tizen.Security.SecureRepository.DataManager.Get(System.String,System.String)">
739 Gets data from secure repository.
741 <since_tizen> 3 </since_tizen>
742 <param name="alias">The name of a certificate to retrieve.</param>
743 <param name="password">
744 The password used in decrypting a data value.
745 If password of policy is provided in SaveData(), the same password should
748 <returns>Data specified by alias.</returns>
749 <exception cref="T:System.ArgumentNullException">
750 Alias argument is null.
752 <exception cref="T:System.ArgumentException">
753 Alias argument is invalid format.
755 <exception cref="T:System.InvalidOperationException">
756 Data does not exist with the alias or data-protecting password isn't matched.
759 <member name="M:Tizen.Security.SecureRepository.DataManager.GetAliases">
761 Gets all alias of data which the client can access.
763 <since_tizen> 3 </since_tizen>
764 <returns>All alias of data which the client can access.</returns>
765 <exception cref="T:System.ArgumentException">No alias to get.</exception>
767 <member name="M:Tizen.Security.SecureRepository.DataManager.Save(System.String,System.Byte[],Tizen.Security.SecureRepository.Policy)">
769 Stores data inside secure repository based on the provided policy.
771 <since_tizen> 3 </since_tizen>
772 <param name="alias">The name of data to be stored.</param>
773 <param name="data">The binary value to be stored.</param>
774 <param name="policy">The policy about how to store data securely.</param>
775 <exception cref="T:System.ArgumentNullException">
776 Any of argument is null.
778 <exception cref="T:System.ArgumentException">
779 Alias argument is invalid format. Data policy cannot be unextractable.
781 <exception cref="T:System.InvalidOperationException">
782 Data with alias does already exist.
785 <member name="T:Tizen.Security.SecureRepository.EllipticCurveType">
787 Enumeration for elliptic curve
789 <since_tizen> 3 </since_tizen>
791 <member name="F:Tizen.Security.SecureRepository.EllipticCurveType.Prime192V1">
793 Elliptic curve domain "secp192r1" listed in "SEC 2" recommended elliptic curve domain
796 <member name="F:Tizen.Security.SecureRepository.EllipticCurveType.Prime256V1">
798 "SEC 2" recommended elliptic curve domain - secp256r1
801 <member name="F:Tizen.Security.SecureRepository.EllipticCurveType.Secp384R1">
803 NIST curve P-384(covers "secp384r1", the elliptic curve domain listed in See SEC 2
806 <member name="T:Tizen.Security.SecureRepository.Key">
808 Class that represents a key.
810 <since_tizen> 3 </since_tizen>
812 <member name="M:Tizen.Security.SecureRepository.Key.#ctor(System.Byte[],Tizen.Security.SecureRepository.KeyType,System.String)">
814 A constructor of Key that takes the binary, its type, and optional password
817 <since_tizen> 3 </since_tizen>
818 <param name="binary">
819 The binary value of a key. This binary may be encrypted with binaryPassword.
821 <param name="type">The key's type.</param>
822 <param name="binaryPassword">
823 The password used to decrypt binary when binary is encrypted.
826 <member name="P:Tizen.Security.SecureRepository.Key.Binary">
828 The binary value of a key.
830 <since_tizen> 3 </since_tizen>
832 <member name="P:Tizen.Security.SecureRepository.Key.Type">
836 <since_tizen> 3 </since_tizen>
838 <member name="P:Tizen.Security.SecureRepository.Key.BinaryPassword">
840 The password used to decrypt binary when binary is encrypted. It's optional.
842 <since_tizen> 3 </since_tizen>
844 <member name="T:Tizen.Security.SecureRepository.KeyManager">
846 This class provides the methods storing, retrieving, and creating keys.
848 <since_tizen> 3 </since_tizen>
850 <member name="M:Tizen.Security.SecureRepository.KeyManager.Get(System.String,System.String)">
852 Gets a key from secure repository.
854 <since_tizen> 3 </since_tizen>
855 <param name="alias">The name of a key to retrieve.</param>
856 <param name="password">
857 The password used in decrypting a key value.
858 If password of policy is provided in SaveKey(), the same password should
861 <returns>A key specified by alias.</returns>
862 <exception cref="T:System.ArgumentNullException">
863 Alias argument is null.
865 <exception cref="T:System.ArgumentException">
866 Alias argument is invalid format.
868 <exception cref="T:System.InvalidOperationException">
869 Key does not exist with the alias or key-protecting password isn't matched.
872 <member name="M:Tizen.Security.SecureRepository.KeyManager.GetAliases">
874 Gets all alias of keys which the client can access.
876 <since_tizen> 3 </since_tizen>
877 <returns>All alias of keys which the client can access.</returns>
878 <exception cref="T:System.ArgumentException">No alias to get.</exception>
880 <member name="M:Tizen.Security.SecureRepository.KeyManager.Save(System.String,Tizen.Security.SecureRepository.Key,Tizen.Security.SecureRepository.Policy)">
882 Stores a key inside secure repository based on the provided policy.
884 <since_tizen> 3 </since_tizen>
885 <param name="alias">The name of a key to be stored.</param>
886 <param name="key">The key's binary value to be stored.</param>
887 <param name="policy">The policy about how to store a key securely.</param>
888 <exception cref="T:System.ArgumentNullException">
889 Any of argument is null.
891 <exception cref="T:System.ArgumentException">
892 Alias argument is invalid format. key argument is invalid format.
894 <exception cref="T:System.InvalidOperationException">
895 Key with alias does already exist.
898 Type in key may be set to KeyType.None as an input.
899 Type is determined inside secure reposioty during storing keys.
902 If password in policy is provided, the key is additionally encrypted with
903 the password in policy.
906 <member name="M:Tizen.Security.SecureRepository.KeyManager.CreateRsaKeyPair(System.Int32,System.String,System.String,Tizen.Security.SecureRepository.Policy,Tizen.Security.SecureRepository.Policy)">
908 Creates RSA private/public key pair and stores them inside secure repository
909 based on each policy.
911 <since_tizen> 3 </since_tizen>
913 The size of key strength to be created. 1024, 2048, and 4096 are supported.
915 <param name="privateKeyAlias">The name of private key to be stored.</param>
916 <param name="publicKeyAlias">The name of public key to be stored.</param>
917 <param name="privateKeyPolicy">
918 The policy about how to store a private key securely.
920 <param name="publicKeyPolicy">
921 The policy about how to store a public key securely.
923 <exception cref="T:System.ArgumentNullException">
924 Any of argument is null.
926 <exception cref="T:System.ArgumentException">
927 size is invalid. privateKeyAlias or publicKeyAlias is invalid format.
929 <exception cref="T:System.InvalidOperationException">
930 Key with privateKeyAlias or publicKeyAlias does already exist.
933 If password in policy is provided, the key is additionally encrypted with the
937 <member name="M:Tizen.Security.SecureRepository.KeyManager.CreateDsaKeyPair(System.Int32,System.String,System.String,Tizen.Security.SecureRepository.Policy,Tizen.Security.SecureRepository.Policy)">
939 Creates DSA private/public key pair and stores them inside secure repository
940 based on each policy.
942 <since_tizen> 3 </since_tizen>
944 The size of key strength to be created. 1024, 2048, 3072, and 4096 are
947 <param name="privateKeyAlias">The name of private key to be stored.</param>
948 <param name="publicKeyAlias">The name of public key to be stored.</param>
949 <param name="privateKeyPolicy">
950 The policy about how to store a private key securely.
952 <param name="publicKeyPolicy">
953 The policy about how to store a public key securely.
955 <exception cref="T:System.ArgumentNullException">
956 Any of argument is null.
958 <exception cref="T:System.ArgumentException">
959 size is invalid. privateKeyAlias or publicKeyAlias is invalid format.
961 <exception cref="T:System.InvalidOperationException">
962 Key with privateKeyAlias or publicKeyAlias does already exist.
965 If password in policy is provided, the key is additionally encrypted with
966 the password in policy.
969 <member name="M:Tizen.Security.SecureRepository.KeyManager.CreateEcdsaKeyPair(Tizen.Security.SecureRepository.EllipticCurveType,System.String,System.String,Tizen.Security.SecureRepository.Policy,Tizen.Security.SecureRepository.Policy)">
971 Creates ECDSA private/public key pair and stores them inside secure repository
972 based on each policy.
974 <since_tizen> 3 </since_tizen>
975 <param name="type">The type of elliptic curve of ECDSA.</param>
976 <param name="privateKeyAlias">The name of private key to be stored.</param>
977 <param name="publicKeyAlias">The name of public key to be stored.</param>
978 <param name="privateKeyPolicy">
979 The policy about how to store a private key securely.
981 <param name="publicKeyPolicy">
982 The policy about how to store a public key securely.
984 <exception cref="T:System.ArgumentNullException">
985 Any of argument is null.
987 <exception cref="T:System.ArgumentException">
988 Elliptic curve type is invalid. privateKeyAlias or publicKeyAlias is
991 <exception cref="T:System.InvalidOperationException">
992 Key with privateKeyAlias or publicKeyAlias does already exist.
995 If password in policy is provided, the key is additionally encrypted with
996 the password in policy.
999 <member name="M:Tizen.Security.SecureRepository.KeyManager.CreateAesKey(System.Int32,System.String,Tizen.Security.SecureRepository.Policy)">
1001 Creates AES key and stores it inside secure repository based on each policy.
1003 <since_tizen> 3 </since_tizen>
1005 The size of key strength to be created. 128, 192 and 256 are supported.
1007 <param name="keyAlias">The name of key to be stored.</param>
1008 <param name="policy">The policy about how to store the key securely.</param>
1009 <exception cref="T:System.ArgumentNullException">
1010 keyAlias or policy is null.
1012 <exception cref="T:System.ArgumentException">
1013 Key size is invalid. keyAlias is invalid format.
1015 <exception cref="T:System.InvalidOperationException">
1016 Key with privateKeyAlias or publicKeyAlias does already exist.
1019 If password in policy is provided, the key is additionally encrypted with
1020 the password in policy.
1023 <member name="T:Tizen.Security.SecureRepository.KeyType">
1025 Enumeration for key types of key manager.
1027 <since_tizen> 3 </since_tizen>
1029 <member name="F:Tizen.Security.SecureRepository.KeyType.None">
1031 Key type not specified
1034 <member name="F:Tizen.Security.SecureRepository.KeyType.RsaPublic">
1039 <member name="F:Tizen.Security.SecureRepository.KeyType.RsaPrivate">
1044 <member name="F:Tizen.Security.SecureRepository.KeyType.EcdsaPublic">
1049 <member name="F:Tizen.Security.SecureRepository.KeyType.EcdsaPrivate">
1054 <member name="F:Tizen.Security.SecureRepository.KeyType.DsaPublic">
1059 <member name="F:Tizen.Security.SecureRepository.KeyType.DsaPrivate">
1064 <member name="F:Tizen.Security.SecureRepository.KeyType.Aes">
1069 <member name="T:Tizen.Security.SecureRepository.Manager">
1071 This class is a base class of XxxManager classes. It provides the common methods
1072 for all sub classes.
1074 <since_tizen> 3 </since_tizen>
1076 <member name="M:Tizen.Security.SecureRepository.Manager.CreateFullAlias(System.String,System.String)">
1078 Creates a new full alias which is concatenation of owner id and alias.
1080 <since_tizen> 3 </since_tizen>
1081 <param name="ownerId">Data owner's id. This should be package id if data
1082 owner is application. If you want to access data stored by system services,
1083 use CreateFullSystemAlias() instead.</param>
1084 <param name="alias">Data alias.</param>
1086 <member name="M:Tizen.Security.SecureRepository.Manager.CreateFullSystemAlias(System.String)">
1088 Creates a new full alias which is concatenation of system service's
1091 <since_tizen> 3 </since_tizen>
1092 <param name="alias">Data alias which is owned by system service.</param>
1094 <member name="M:Tizen.Security.SecureRepository.Manager.RemoveAlias(System.String)">
1096 Removes a an entry (no matter of type) from the key manager.
1098 <since_tizen> 3 </since_tizen>
1099 <param name="alias">Item alias to be removed.</param>
1100 <exception cref="T:System.ArgumentNullException">alias is null.</exception>
1101 <exception cref="T:System.ArgumentException">alias is invalid format.</exception>
1102 <exception cref="T:System.InvalidOperationException">alias does not exist.</exception>
1104 To remove item, client must have remove permission to the specified item.
1106 <remarks>The item owner can remove by default.</remarks>
1108 <member name="M:Tizen.Security.SecureRepository.Manager.SetPermission(System.String,System.String,System.Int32)">
1110 Allows another application to access client's application data.
1112 <since_tizen> 3 </since_tizen>
1113 <param name="alias">Item alias for which access will be granted.</param>
1114 <param name="otherPackageId">
1115 Package id of the application that will gain access rights.
1117 <param name="permissions">
1118 Mask of permissions(Permission enum) granted for an application with
1121 <exception cref="T:System.ArgumentNullException">
1122 alias or otherPackageId is null.
1124 <exception cref="T:System.ArgumentException">
1125 alias or otherPackageId is invalid format.
1127 <exception cref="T:System.InvalidOperationException">alias does not exist.</exception>
1128 <remarks>Data identified by alias should exist.</remarks>
1129 <remarks>The item owner can set permissions.</remarks>
1131 <member name="T:Tizen.Security.SecureRepository.OcspStatus">
1133 Enumeration for OCSP status.
1135 <since_tizen> 3 </since_tizen>
1137 <member name="F:Tizen.Security.SecureRepository.OcspStatus.Good">
1142 <member name="F:Tizen.Security.SecureRepository.OcspStatus.Revoked">
1144 The certificate is revoked
1147 <member name="F:Tizen.Security.SecureRepository.OcspStatus.Unknown">
1152 <member name="F:Tizen.Security.SecureRepository.OcspStatus.Unsupported">
1154 The certificate does not provide OCSP extension
1157 <member name="F:Tizen.Security.SecureRepository.OcspStatus.InvalidUrl">
1159 The invalid URL in certificate OCSP extension
1162 <member name="F:Tizen.Security.SecureRepository.OcspStatus.InvalidResponse">
1164 The invalid response from OCSP server
1167 <member name="F:Tizen.Security.SecureRepository.OcspStatus.RemoteError">
1169 OCSP remote server error
1172 <member name="F:Tizen.Security.SecureRepository.OcspStatus.NetworkError">
1174 Network connection error
1177 <member name="F:Tizen.Security.SecureRepository.OcspStatus.InternalError">
1182 <member name="T:Tizen.Security.SecureRepository.Permission">
1184 Enumeration for permissions to access/modify alias.
1186 <since_tizen> 3 </since_tizen>
1188 <member name="F:Tizen.Security.SecureRepository.Permission.None">
1193 <member name="F:Tizen.Security.SecureRepository.Permission.Read">
1198 <member name="F:Tizen.Security.SecureRepository.Permission.Remove">
1203 <member name="T:Tizen.Security.SecureRepository.Pkcs12">
1205 Class that represents a PKCS#12 contents.
1206 It has a private key or its certificate or all the members of a chain of trust.
1208 <since_tizen> 3 </since_tizen>
1210 <member name="M:Tizen.Security.SecureRepository.Pkcs12.Load(System.String,System.String)">
1212 Load Pkcs12 from the given PKCS#12 file path.
1214 <since_tizen> 3 </since_tizen>
1215 <param name="filePath">The path of PKCS12 file to be loaded.</param>
1216 <param name="filePassword">The passphrase used to decrypt the PCKS12 file.
1217 If PKCS12 file is not encrypted, passphrase can be null.</param>
1218 <exception cref="T:System.ArgumentNullException">filePath is null.</exception>
1219 <exception cref="T:System.InvalidOperationException">
1220 No file on filePath.
1221 No permission to access file.
1222 File is invalid PKCS12 format.
1223 File cannot be extracted with provided filePassword.
1226 <member name="M:Tizen.Security.SecureRepository.Pkcs12.#ctor(Tizen.Security.SecureRepository.Key)">
1228 A constructor of Key that takes a private key.
1230 <since_tizen> 3 </since_tizen>
1231 <param name="privateKey">A private key.</param>
1233 <member name="M:Tizen.Security.SecureRepository.Pkcs12.#ctor(Tizen.Security.SecureRepository.Key,Tizen.Security.SecureRepository.Certificate,System.Collections.Generic.IEnumerable{Tizen.Security.SecureRepository.Certificate})">
1235 A constructor of Key that takes a private key, its corresponding certicate,
1236 and CA's certificate chain.
1238 <since_tizen> 3 </since_tizen>
1239 <param name="privateKey">A private key.</param>
1240 <param name="certificate">A certificate corresponding the private key</param>
1241 <param name="caChain">
1242 A certificate chain of CA(Certificate Authority) that issued the certificate.
1245 <member name="P:Tizen.Security.SecureRepository.Pkcs12.PrivateKey">
1249 <since_tizen> 3 </since_tizen>
1251 <member name="P:Tizen.Security.SecureRepository.Pkcs12.Certificate">
1253 A certificate corresponding the private key.
1255 <since_tizen> 3 </since_tizen>
1257 <member name="P:Tizen.Security.SecureRepository.Pkcs12.CaChain">
1259 A certificate chain of CA(Certificate Authority) that issued the certificate.
1261 <since_tizen> 3 </since_tizen>
1263 <member name="T:Tizen.Security.SecureRepository.Pkcs12Manager">
1265 This class provides the methods storing, retrieving Pkcs12 contents.
1267 <since_tizen> 3 </since_tizen>
1269 <member name="M:Tizen.Security.SecureRepository.Pkcs12Manager.Get(System.String,System.String,System.String)">
1271 Gets Pkcs12 contents from secure repository.
1273 <since_tizen> 3 </since_tizen>
1274 <param name="alias">The name of data to retrieve.</param>
1275 <param name="keyPassword">
1276 The password used in decrypting a private key value. If password of
1277 keyPolicy is provided in SavePkcs12(), the same password should be provided
1279 <param name="cerificatePassword">
1280 The password used in decrypting a certificate value. If password of
1281 certificatePolicy is provided in SavePkcs12(), the same password should be
1284 <returns>A Pkcs12 data specified by alias.</returns>
1285 <exception cref="T:System.ArgumentNullException">Alias argument is null.</exception>
1286 <exception cref="T:System.ArgumentException">
1287 Alias argument is invalid format.
1289 <exception cref="T:System.InvalidOperationException">
1290 Pkcs12 does not exist with the alias.
1291 Optional password of key in Pkcs12 isn't matched.
1292 Optional password of certificate in Pkcs12 isn't matched.
1295 <member name="M:Tizen.Security.SecureRepository.Pkcs12Manager.Save(System.String,Tizen.Security.SecureRepository.Pkcs12,Tizen.Security.SecureRepository.Policy,Tizen.Security.SecureRepository.Policy)">
1297 Stores PKCS12's contents inside key manager based on the provided policies.
1298 All items from the PKCS12 will use the same alias.
1300 <since_tizen> 3 </since_tizen>
1301 <param name="alias">The name of a data to be stored.</param>
1302 <param name="pkcs12">The pkcs12 data to be stored.</param>
1303 <param name="keyPolicy">
1304 The policy about how to store pkcs's private key.
1306 <param name="certificatePolicy">
1307 The policy about how to store pkcs's certificate.
1309 <exception cref="T:System.ArgumentNullException">Any of argument is null.</exception>
1310 <exception cref="T:System.ArgumentException">
1311 Alias argument is invalid format. Pkcs12 argument is invalid format.
1313 <exception cref="T:System.InvalidOperationException">
1314 Pkcs12 with alias does already exist.
1317 <member name="T:Tizen.Security.SecureRepository.Policy">
1319 A class for a policy for storing key, certificate, and binary data.
1321 <since_tizen> 3 </since_tizen>
1323 <member name="M:Tizen.Security.SecureRepository.Policy.#ctor">
1325 A default constructor of Policy with default policy.
1327 <since_tizen> 3 </since_tizen>
1328 <remarks>The default value for Password is null and the default value for Extractabl is false.</remarks>
1330 <member name="M:Tizen.Security.SecureRepository.Policy.#ctor(System.String,System.Boolean)">
1332 A constructor of Key that takes the password and the flag for extractable.
1334 <since_tizen> 3 </since_tizen>
1335 <param name="password">Used to encrypt data secure repository.</param>
1336 <param name="extractable">If true key may be extracted from secure repository.</param>
1338 <member name="P:Tizen.Security.SecureRepository.Policy.Password">
1340 Used to encrypt data secure repository. If it is not null, the data
1341 (or key, or certificate) is stored encrypted with this password inside secure repository
1343 <since_tizen> 3 </since_tizen>
1345 <member name="P:Tizen.Security.SecureRepository.Policy.Extractable">
1347 If true key may be extracted from secure repository.
1349 <since_tizen> 3 </since_tizen>