Size: a a a

iOS Developers — русскоговорящее сообщество

2021 June 17

BL

Blanche Lap in iOS Developers — русскоговорящее сообщество
источник

ML

Mimik Lamerger in iOS Developers — русскоговорящее сообщество
на локальный сложно, надо ему внешний ip сделать и домен подцепить, все это своего рода извраты, ну или просто на телефон закинуть сертификат на пару лет хватит
источник

BL

Blanche Lap in iOS Developers — русскоговорящее сообщество
закинуть каждому будет проблематично
источник

ML

Mimik Lamerger in iOS Developers — русскоговорящее сообщество
тогда лучше сделать домен
источник

DK

Denis Kim in iOS Developers — русскоговорящее сообщество
ты про ssl пиннинг?
источник

BL

Blanche Lap in iOS Developers — русскоговорящее сообщество
в какой-то мере это пиннинг, но не совсем
источник

BL

Blanche Lap in iOS Developers — русскоговорящее сообщество
суть, чтобы соединение с локальным серваком было защищенно https
источник

AM

Andrei Mistetskii in iOS Developers — русскоговорящее сообщество
типа когда при хендшейке сервер просит клиентский сертификат для верификации?
источник

BL

Blanche Lap in iOS Developers — русскоговорящее сообщество
да
источник

BL

Blanche Lap in iOS Developers — русскоговорящее сообщество
но серт самоподписанный, потому что с ip другого не получится
источник

BL

Blanche Lap in iOS Developers — русскоговорящее сообщество
ну и ip серый
источник

AM

Andrei Mistetskii in iOS Developers — русскоговорящее сообщество
да, я такое делал недавно, без добавления self-signed crt в систему
источник

AK

Anton K. in iOS Developers — русскоговорящее сообщество
в приложение надо зашить сертификат и отдавать его, верно?
и не забывать обновлять/продлевать как-то
источник

AM

Andrei Mistetskii in iOS Developers — русскоговорящее сообщество
да, ну мы его только один раз используем во время активации приложения
источник

BL

Blanche Lap in iOS Developers — русскоговорящее сообщество
обновлять, продлевать - второстепенно
источник

BL

Blanche Lap in iOS Developers — русскоговорящее сообщество
пусть хоть на 10 лет
источник

AK

Anton K. in iOS Developers — русскоговорящее сообщество
ну вот это выглядит мне кажется неплохо
источник

AM

Andrei Mistetskii in iOS Developers — русскоговорящее сообщество
сертификат создавал с openssl либой
источник

BL

Blanche Lap in iOS Developers — русскоговорящее сообщество
какие подводные камни были?
источник

AM

Andrei Mistetskii in iOS Developers — русскоговорящее сообщество
/** Creates a DER-enc certificate and corresponding RSA key-pair
*/
bool OpenSSL::createSelfSignedCertificateAndRSAKeyPair(std::string &newCert, std::string &privateKey, std::string &publicKey)
{
   X509* x509 = NULL;
   X509_NAME* name = NULL;
   EVP_PKEY* rsaPrivKey = NULL;
   EVP_PKEY* rsaPubKey = NULL;
   if (!OpenSSL::generateRsaKeyPair(2048, publicKey, privateKey)) goto EXIT;
   
   rsaPubKey = RsaPublicKey(publicKey);
   rsaPrivKey = RsaPrivateKey(privateKey);
   
   x509 = X509_new();
   X509_gmtime_adj(X509_get_notBefore(x509), 0);
   X509_gmtime_adj(X509_get_notAfter(x509), (long)60 * 60 * 24 * VALIDITY_LIMIT_ONE_WEEK);
   
   X509_set_pubkey(x509, rsaPubKey);
   
   /* set the name of the issuer to the name of the subject. */
   name = X509_get_subject_name(x509);
   if (1 != X509_NAME_add_entry_by_txt(name,"O", MBSTRING_ASC, (const uint8_t*)”
*elided*”, -1, -1, 0)){
       goto EXIT;
   }
   
   X509_set_issuer_name(x509, name);
   
   /* finally sign the certificate with the key. */
   X509_sign(x509, rsaPrivKey, EVP_sha256());
   
   if (!certificate(x509, newCert)) goto EXIT;
   
   
   EXIT:
   if (x509) X509_free(x509);
   if (rsaPubKey) EVP_PKEY_free(rsaPubKey);
   if (rsaPrivKey) EVP_PKEY_free(rsaPrivKey);
   return newCert.length() > 0 ? true : false;
}
источник