title: Store an encryption key in Keychain while application installation process
body: <p>I need my application to use client's phone-number to generate unique ID for my web-service. Of course a phone-number is unique, but it must be secured. So it can be implemented with symmetric encryption (asymmetric will be later, because leak of resources), but I do not know where to store a encryption-key.</p>
  <h1>1.</h1>
  <p>I do not know why, but seems bad to store a key as a static field in code. May be because it's too easy to read it from here even not running an application.</p>
  <h1>2.</h1>
  <p>It seems better to store a key in Keychain and get it from here by request. But to avoid #1 it's necessary to install a key to Keychain while installation process. Is it possible? How to do that?</p>
  <h1>3.</h1>
  <p>I do not know what certificates do. Are they helpful to the problem?</p>
  <h1>4.</h1>
  <p>To transfer a key from server is also a bad idea, because it's very easy to sniffer it.</p>