Ошибка с помощью ssl сертификат с PHP

Для каждого пользователя вы можете сделать:

> df <- data.frame(User = c(rep("A", 4), rep("B", 4)),
+                  Date = rep(seq.Date(as.Date("2012-01-01"), as.Date("2012-01-04"), by = "day"), 2),
+                  Value1 = c(4, 5, 6, 7, 2, 3, 4, 5),
+                  Value2 = c(3, 7, 1, 4, 4, 2, 9, 3))
>   
> df_A <- df[df$User == "A", c("Value1", "Value2")]
> ts_A <- ts(df_A, start = c(2012, 1, 1), frequency = 365)
> ts_A <- ts.intersect(ts_A, lag(ts_A, -1))
> colnames(ts_A) <- c("Value1", "Value2", "Value1_t_1", "Value2_t_1")
> 
> lm(Value1 ~ Value2_t_1, ts_A)

Call:
lm(formula = Value1 ~ Value2_t_1, data = ts_A)

Coefficients:
(Intercept)   Value2_t_1  
     6.3929      -0.1071  

> 

Надеюсь, это поможет.

8
задан Jamey McElveen 1 May 2009 в 00:53
поделиться

3 ответа

Вы получаете сообщение об ошибке, потому что он пытается найти ваш файл cert.pem в каталоге, из которого вы запускаете скрипт, а не в каталоге, в котором находится скрипт. В вашем примере это ваш пользовательский каталог "~".

Попробуйте изменить свой класс на этот или что-то подобное:

class pushNotifications {
...
     private $sslPem = 'cert.pem';
...
     function connectToAPNS(){
          $streamContext = stream_context_create();
          stream_context_set_option($streamContext, 'ssl', 'local_cert', dirname(__FILE__) . '/' . $this->sslPem);
15
ответ дан 5 December 2019 в 06:10
поделиться

У меня тоже была эта проблема, оказалось, что по какой-то причине мой закрытый ключ не совпал с связанный с aps_developer_identity.cer, который у меня был ...

Я закончил тем, что очистил все моих открытых и закрытых ключей из элемента цепочки ключей «Вход в систему», затем я начал весь процесс заново (сгенерировал request) ... Я отправил новый файл запроса на программный портал и сгенерировал новый сертификат, загрузил и установил его, дважды щелкнув его (developer_identity.cer). Затем я сбрасываю профили обеспечения для использования новых сертификатов Push SSL, загружаю их и устанавливаю, дважды щелкнув (aps_developer_identity.cer). Наконец, я сбросил профиль обеспечения и загрузил новый. Я удалил старую в Xcode Organizer и установил новую. Наконец, я экспортировал свой «закрытый» ключ как key.p12 и свой aps_developer_identity.cer как apsdi.p12 и выполнил для них следующие команды:

openssl pkcs12 -clcerts -nokeys -out apsdi.pem -in apsdi.p12
openssl pkcs12 -nocerts -out key.pem -in key.p12

Если вы в порядке, используйте кодовую фразу (рекомендуется для производства):

cat apsdi.pem key.pem > cert.pem

Если вы хотите использовать «пустую» парольную фразу, вам нужно сначала расшифровать свой закрытый ключ, используя пароль, который вы указали при преобразовании его в формат pem :

openssl rsa -in key.pem -out key.unencrypted.pem

А затем введите сертификат и незашифрованный ключ в apns.pem (или любое другое имя файла, которое вы выбрали):

cat apsdi.pem key.unencrypted.pem > apns.pem

Очень важно, чтобы вы экспортировали свой сертификат aps_developer_identity, не свой сертификат developer_identity как apsdi.pem.

Если можете разверните файлы developer_identity.cer и aps_developer_identity. cer в Keychain Access, и при этом вы увидите «закрытый» ключ, все должно работать.

10
ответ дан 5 December 2019 в 06:10
поделиться

Заметки на будущее (после того, как у вас сильно разболелась голова из-за всего этого): 1. если вы получаете ошибку рукопожатия - вероятно, созданный вами файл pem неверен.

a. убедитесь, что файл находится в той же директории, что и php, который вы пытаетесь запустить. b. экспортируйте файл certifcate p12 и ключ под ним в утилите доступа к связке ключей. оба этих файла будут одинакового размера, но они РАЗНЫЕ. c. выполните вышеуказанные команды "openssl" в терминале macintosh.

  1. в настоящее время все, что я могу сделать, это запустить php как sudo, из-за chmod 400 для ck.pem. Что-то должно произойти...

btw, сообщение "Failed to enable crypto" исчезнет, когда система будет работать правильно.

0
ответ дан 5 December 2019 в 06:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: