javax.net.ssl.SSLHandshakeExceptionの解決:sun.security.validator.ValidatorException:PKIXパスの構築に失敗しましたエラー?

455
M Sach 2012-03-09 04:17.

編集:-私のブログでより見栄えの良い方法で質問と受け入れられた回答をフォーマットしようとしました

これが元の問題です。

このエラーが発生します:

詳細メッセージsun.security.validator.ValidatorException:PKIXパスの構築に失敗しました:
sun.security.provider.certpath.SunCertPathBuilderException:要求されたターゲットへの有効な証明書パスが見つかりません

原因javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIXパスの構築に失敗しました:sun.security.provider.certpath.SunCertPathBuilderException:要求されたターゲットへの有効な証明書パスが見つかりません

私はTomcat6をWebサーバーとして使用しています。2つのHTTPSWebアプリケーションを、異なるポートの異なるTomcatに、同じマシンにインストールしています。言っApp1(port 8443)App2(port 443)App1に接続しApp2ます。ときApp1に接続しているApp2私は、上記のエラーを取得します。これは非常に一般的なエラーであることがわかっているため、さまざまなフォーラムやサイトで多くの解決策に出くわしました。私はserver.xml両方のTomcatの以下のエントリを持っています:

keystoreFile="c:/.keystore" 
keystorePass="changeit"

すべてのサイトは、app2によって提供された証明書がapp1jvmの信頼できるストアにないという同じ理由を述べています。これは、IEブラウザで同じURLにアクセスしようとした場合にも当てはまるようです(ウォーミングでは、このWebサイトのセキュリティ証明書に問題があります。ここではこのWebサイトに進みます)。しかし、同じURLがJavaクライアント(私の場合)によってヒットされると、上記のエラーが発生します。それで、それをトラストストアに置くために、私はこれらの3つのオプションを試しました:

オプション1

System.setProperty("javax.net.ssl.trustStore", "C:/.keystore");
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");

オプション2以下の環境変数の設定

CATALINA_OPTS -- param name
-Djavax.net.ssl.trustStore=C:\.keystore -Djavax.net.ssl.trustStorePassword=changeit ---param value

オプション3以下の環境変数の設定

JAVA_OPTS -- param name
-Djavax.net.ssl.trustStore=C:\.keystore -Djavax.net.ssl.trustStorePassword=changeit ---param value

しかし、何も機能しませんでした

Apache HttpClientで無効なSSL証明書を処理する方法で提案されているJavaアプローチを実行すると、最後に何が機能しましたか?Pascal Thiventによる、つまりプログラムInstallCertの実行。

ただし、このアプローチはdevboxのセットアップには適していますが、実稼働環境では使用できません。

3つのアプローチは、上記の理由を私は疑問に思って私は同じ値を記載している時に仕事をしませんでしたserver.xmlapp2設定でトラストストアに、サーバーと同じ値

System.setProperty("javax.net.ssl.trustStore", "C:/.keystore") and System.setProperty("javax.net.ssl.trustStorePassword", "changeit");

app1プログラム。

詳細については、これが私が接続を確立する方法です。

URL url = new URL(urlStr);

URLConnection conn = url.openConnection();

if (conn instanceof HttpsURLConnection) {

  HttpsURLConnection conn1 = (HttpsURLConnection) url.openConnection();

  conn1.setHostnameVerifier(new HostnameVerifier() {
    public boolean verify(String hostname, SSLSession session) {
      return true;
    }
  });

  reply.load(conn1.getInputStream());

19 answers

430
SimonSez 2012-03-09 04:48.

App2の証明書を、にある使用済みJVMのトラストストアファイルに追加する必要があります%JAVA_HOME%\lib\security\cacerts

まず、次のコマンドを実行して、証明書がすでにトラストストアにあるかどうかを確認できます:(keytool -list -keystore "%JAVA_HOME%/jre/lib/security/cacerts"パスワードを入力する必要はありません)

証明書が見つからない場合は、ブラウザーで証明書をダウンロードし、次のコマンドを使用してトラストストアに追加することで証明書を取得できます。

keytool -import -noprompt -trustcacerts -alias <AliasName> -file <certificate> -keystore <KeystoreFile> -storepass <Password>

例:
keytool -import -noprompt -trustcacerts -alias myFancyAlias -file /path/to/my/cert/myCert.cer -keystore /path/to/my/jdk/jre/lib/security/cacerts/keystore.jks -storepass changeit

インポート後、最初のコマンドを再度実行して、証明書が追加されたかどうかを確認できます。

Sun / Oracleの情報はここにあります。

188
NDeveloper 2012-09-21 19:50.

javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIXパスの構築に失敗しました:sun.security.provider.certpath.SunCertPathBuilderException:要求されたターゲットへの有効な証明書パスが見つかりません

•エラーが発生したときに、式の意味をGoogleで調べてみたところ、サーバーがHTTPS SSL証明書を変更したときにこの問題が発生し、古いバージョンのJavaがルート認証局(CA)を認識しないことがわかりました。 。

•ブラウザでHTTPSURLにアクセスできる場合は、Javaを更新してルートCAを認識することができます。

•ブラウザで、JavaがアクセスできなかったHTTPSURLに移動します。HTTPS証明書チェーン(Internet Explorerには鍵のアイコンがあります)をクリックし、鍵をクリックして証明書を表示します。

•証明書の「詳細」および「ファイルにコピー」に移動します。Base64(.cer)形式でコピーします。デスクトップに保存されます。

•すべてのアラートを無視して証明書をインストールします。

•これは、アクセスしようとしたURLの証明書情報を収集する方法です。

さらに、URLの認識を拒否しないように、証明書について知るためにJavaバージョンを作成する必要がありました。この点で、ルート証明書情報はデフォルトでJDKの\ jre \ lib \ securityの場所に残り、アクセスするデフォルトのパスワードはchangeitであるとググったことに言及する必要があります

cacerts情報を表示するには、以下の手順に従います。

•スタートボタン->実行をクリックします

•cmdと入力します。コマンドプロンプトが開きます(管理者として開く必要がある場合があります)。

Java/jreX/binディレクトリに移動します

•次のように入力します

keytool -list -keystore D:\ Java \ jdk1.5.0_12 \ jre \ lib \ security \ cacerts

キーストアに含まれている現在の証明書のリストを提供します。これは次のようになります。

C:\ Documents and Settings \ NeelanjanaG> keytool -list -keystore D:\ Java \ jdk1.5.0_12 \ jre \ lib \ security \ cacerts

キーストアのパスワードを入力してください:changeit

キーストアタイプ:jks

キーストアプロバイダー:SUN

キーストアには44のエントリが含まれています

verisignclass3g2ca、2004年3月26日、trustedCertEntry、

証明書のフィンガープリント(MD5):A2:33:9B:4C:74:78:73:D4:6C:E7:C1:F3:8D:CB:5C:E9

entrustclientca、2003年1月9日、trustedCertEntry、

証明書のフィンガープリント(MD5):0C:41:2F:13:5B:A0:54:F5:96:66:2D:7E:CD:0E:03:F4

thawtepersonalbasicca、1999年2月13日、trustedCertEntry、

証明書のフィンガープリント(MD5):E6:0B:D2:C9:CA:2D:88:DB:1A:71:0E:4B:78:EB:02:41

addtrustclass1ca、2006年5月1日、trustedCertEntry、

証明書のフィンガープリント(MD5):1E:42:95:02:33:92:6B:B9:5F:C0:7F:DA:D6:B2:4B:FC

verisignclass2g3ca、2004年3月26日、trustedCertEntry、

証明書のフィンガープリント(MD5):F8:BE:C4:63:22:C9:A8:46:74:8B:B8:1D:1E:4A:2B:F6

•以前にインストールした証明書をcacertsに含める必要がありました。

•このための手順は次のとおりです。

keytool –import –noprompt –trustcacerts –alias ALIASNAME -file FILENAME_OF_THE_INSTALLED_CERTIFICATE -keystore PATH_TO_CACERTS_FILE -storepass PASSWORD

Java 7を使用している場合:

keytool –importcert –trustcacerts –alias ALIASNAME -file PATH_TO_FILENAME_OF_THE_INSTALLED_CERTIFICATE -keystore PATH_TO_CACERTS_FILE -storepass changeit

•次に、証明書情報をcacertファイルに追加します。

上記の例外に対して私が見つけた解決策です!!

47
Jossef Harush 2015-08-19 04:10.

作業方法-Tomcat7で

Tomcatアプリで自己署名証明書をサポートしたかったのですが、次のスニペットが機能しませんでした

import java.io.DataOutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class HTTPSPlayground {
    public static void main(String[] args) throws Exception {

        URL url = new URL("https:// ... .com");
        HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();

        httpURLConnection.setRequestMethod("POST");
        httpURLConnection.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
        httpURLConnection.setDoOutput(true);
        DataOutputStream wr = new DataOutputStream(httpURLConnection.getOutputStream());

        String serializedMessage = "{}";
        wr.writeBytes(serializedMessage);
        wr.flush();
        wr.close();

        int responseCode = httpURLConnection.getResponseCode();
        System.out.println(responseCode);
    }
}

これが私の問題を解決したものです:

1).crtファイルをダウンロードします

echo -n | openssl s_client -connect <your domain>:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > ~/<your domain>.crt
  • <your domain>ドメインに置き換えます(例jossef.com

2).crtJavaのcacerts証明書ストアにファイルを適用します

keytool -import -v -trustcacerts -alias <your domain> -file ~/<your domain>.crt -keystore <JAVA HOME>/jre/lib/security/cacerts -keypass changeit -storepass changeit
  • <your domain>ドメインに置き換えます(例jossef.com
  • <JAVA HOME>Javaホームディレクトリに置き換えます

3)ハックする

iv'eが私の証明書をJavaのデフォルトの証明書ストアにインストールしたとしても、Tomcatはそれを無視します(Javaのデフォルトの証明書ストアを使用するように構成されていないようです)。

これをハックするには、コードのどこかに以下を追加します。

String certificatesTrustStorePath = "<JAVA HOME>/jre/lib/security/cacerts";
System.setProperty("javax.net.ssl.trustStore", certificatesTrustStorePath);

// ...
10
Guillaume 2018-09-26 05:15.

私の場合、問題は、WebサーバーがルートCAではなく、証明書と中間CAのみを送信していたことでした。このJVMオプションを追加すると、問題が解決しました。-Dcom.sun.security.enableAIAcaIssuers=true

Authority InformationAccess拡張機能のcaIssuersアクセス方法のサポートが利用可能です。互換性のためにデフォルトで無効になっており、システムプロパティcom.sun.security.enableAIAcaIssuersを値trueに設定することで有効にできます。

trueに設定すると、SunのCertPathBuilderのPKIX実装は、証明書のAIA拡張機能(指定されたCertStoresに加えて)の情報を使用して、発行元のCA証明書を検索します(URIがldap、http、またはftpタイプの場合)。

ソース

9
Ali Ismayilov 2017-12-24 03:18.

もう1つの理由は、JDKの古いバージョンである可能性があります。jdkバージョン1.8.0_60を使用していましたが、最新バージョンに更新するだけで証明書の問題が解決しました。

5
Cedric Simon 2017-03-06 16:35.

LinuxでTomcat7を使用すると、これでうまくいきました。

String certificatesTrustStorePath = "/etc/alternatives/jre/lib/security/cacerts";
System.setProperty("javax.net.ssl.trustStore", certificatesTrustStorePath);
System.setProperty("javax.net.ssl.trustStorePassword", "changeit");

Linuxでは、$JAVA_HOME常に設定されていないが、通常/etc/alternatives/jreを指し$JAVA_HOME/jre

5
avp 2018-07-25 17:33.

jdk1.8.0_171同じ問題に直面したときに使用していました。ここで上位2つのソリューション(keytoolを使用して証明書を追加し、ハックを含む別のソリューションを追加)を試しましたが、うまくいきませんでした。

JDKをにアップグレードしましたが1.8.0_181、それは魅力のように機能しました。

4
Ryan Shillington 2013-07-27 10:03.

私のcacertsファイルは完全に空でした。これを解決するには、Windowsマシン(Oracle Java 7を使用)からcacertsファイルをコピーし、Linuxボックス(OpenJDK)にコピーしました。

cd %JAVA_HOME%/jre/lib/security/
scp cacerts mylinuxmachin:/tmp

次にLinuxマシンで

cp /tmp/cacerts /etc/ssl/certs/java/cacerts

これまでのところうまく機能しています。

4
YaDa 2017-04-24 04:20.

私にとって、このエラーは、SSLを処理していたNGINXリバースプロキシの背後にあるプロセスに接続しようとしたときにも発生しました。

問題は、証明書チェーン全体が連結されていない証明書であることが判明しました。中間証明書を追加すると、問題は解決しました。

お役に立てれば。

4
Sandip S. 2018-05-11 18:29.

以下のコードは私のために働きます:

import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;

import javax.net.ssl.X509TrustManager;

public class TrustAnyTrustManager implements X509TrustManager {

public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}

public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
}

public X509Certificate[] getAcceptedIssuers() {
return new X509Certificate[] {};
}
}

HttpsURLConnection conn = null;
            URL url = new URL(serviceUrl);
            conn = (HttpsURLConnection) url.openConnection();
             SSLContext sc = SSLContext.getInstance("SSL");  
             sc.init(null, new TrustManager[]{new TrustAnyTrustManager()}, new java.security.SecureRandom());  

             conn.setSSLSocketFactory(sc.getSocketFactory());
2
mons droid 2012-12-07 05:32.

私は小さなwin32(WinXP 32ビットtestet)の愚かなcmd(コマンドライン)スクリプトを作成しました。このスクリプトは、プログラムファイル内のすべてのJavaバージョンを検索し、それらに証明書を追加します。パスワードはデフォルトの「changeit」であるか、スクリプトで自分で変更する必要があります:-)

@echo off

for /F  %%d in ('dir /B %ProgramFiles%\java') do (
    %ProgramFiles%\Java\%%d\bin\keytool.exe -import -noprompt -trustcacerts -file some-exported-cert-saved-as.crt -keystore %ProgramFiles%\Java\%%d\lib\security\cacerts -storepass changeit
)

pause
2
Bahadir Tasdemir 2020-02-11 00:38.

展開可能なソリューション(Alpine Linux)

アプリケーション環境でこの問題を修正できるように、Linuxターミナルコマンドを次のように準備しました。

cd ~

ホームディレクトリに証明書ファイルを生成します。

apk add openssl

このコマンドは、alpineLinuxにopensslをインストールします。他のLinuxディストリビューション用の適切なコマンドを見つけることができます。

openssl s_client -connect <host-dns-ssl-belongs> < /dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' > public.crt

必要な証明書ファイルを生成しました。

sudo $JAVA_HOME/bin/keytool -import -alias server_name -keystore $JAVA_HOME/lib/security/cacerts -file public.crt -storepass changeit -noprompt

プログラム「keytool」を使用して、生成されたファイルをJREに適用しました。

注: DNSを次のように置き換えてください<host-dns-ssl-belongs>

注2:-noprompt確認メッセージを表示せず(yes / no)、-storepass changeitパラメータによってパスワードプロンプトが無効になり、必要なパスワードが提供されることに注意してください(デフォルトは「changeit」)。これらの2つのプロパティを使用すると、Dockerイメージの構築などのアプリケーション環境でこれらのスクリプトを使用できます。

注3Dockerを介してアプリをデプロイする場合は、シークレットファイルを一度生成して、アプリケーションプロジェクトファイルに配置できます。何度も生成する必要はありません。

1
Abhishek 2019-05-13 23:58.

以下のMacOSXの場合、「importcert」オプションで二重ハイフンを試してみなければならなかった正確なコマンドが機能しました。

sudo keytool -–importcert -file /PathTo/YourCertFileDownloadedFromBrowserLockIcon.crt -keystore /Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/jre/lib/security/cacerts -alias "Cert" -storepass changeit
1
Radu Linu 2019-11-29 01:03.

私にとって、この投稿から認識された解決策は機能しませんでした: https://stackoverflow.com/a/9619478/4507034。

代わりに、マシンの信頼できる証明書に証明書をインポートすることで、問題を解決することができました。

手順:

  1. https://localhost:8443/yourpath認定が機能していないURL(例)に移動します。
  2. 上記の投稿の説明に従って、証明書をエクスポートします。
  3. Windowsマシンで開きます: Manage computer certificates
  4. Trusted Root Certification Authorities->に移動しますCertificates
  5. ここにyour_certification_name.cerファイルをインポートします。
1
Dave Richardson 2020-05-20 05:29.

これは、悪名高いPKIXエラーメッセージの別の考えられる理由を文書化するのに最適な場所のようです。キーストアとトラストストアの内容、およびさまざまなJavaインストール構成を確認するのに非常に長い時間を費やした後、問題は...タイプミスにあることに気付きました。

タイプミスは、私がキーストアをトラストストアとしても使用していたことを意味しました。私の会社のルートCAは、キーストアでスタンドアロンの証明書として定義されておらず、証明書チェーンの一部としてのみ定義されており、他の場所(つまり、cacerts)でも定義されていないため、PKIXエラーが発生し続けました。

リリースが失敗した後(これはprod configであり、他の場所では問題ありませんでした)、2日間のヘッドスクラッチの後、ようやくタイプミスが発生しました。これですべて問題ありません。

これが誰かを助けることを願っています。

0
oraclesoon 2014-06-10 17:38.

Ubuntuサーバーで実行されているTomcatの場合、使用されているJavaを確認するには、「ps -ef | greptomcat」コマンドを使用します。

サンプル:

/home/mcp01$ **ps -ef |grep tomcat**
tomcat7  28477     1  0 10:59 ?        00:00:18 **/usr/local/java/jdk1.7.0_15/bin/java** -Djava.util.logging.config.file=/var/lib/tomcat7/conf/logging.properties -Djava.awt.headless=true -Xmx512m -XX:+UseConcMarkSweepGC -Djava.net.preferIPv4Stack=true -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/share/tomcat7/endorsed -classpath /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar -Dcatalina.base=/var/lib/tomcat7 -Dcatalina.home=/usr/share/tomcat7 -Djava.io.tmpdir=/tmp/tomcat7-tomcat7-tmp org.apache.catalina.startup.Bootstrap start
1005     28567 28131  0 11:34 pts/1    00:00:00 grep --color=auto tomcat

次に、次の場所に移動できます:cd /usr/local/java/jdk1.7.0_15/jre/lib/security

デフォルトのcacertsファイルはここにあります。信頼できない証明書を挿入します。

0
Nubian 2017-02-10 21:30.

私もこの問題を抱えています。

SSL証明書を.keystoreに追加してほとんどすべてを試しましたが、Java1_6_xでは機能しませんでした。私にとっては、Javaの新しいバージョンであるJava1_8_xをJVMとして使用し始めると役に立ちました。

0
tk_ 2019-01-15 00:50.

安全のため、実装では自己署名証明書を使用しないでください。ただし、開発に関しては、自己署名証明書を取得したトライアル環境を使用する必要があります。コードでこの問題をプログラムで修正しようとしましたが、失敗します。ただし、証明書をjreトラストストアに追加することで、問題が修正されました。以下の手順をご覧ください。

  1. サイト証明書をダウンロードし、

    • Chromeの使用
    • Firefoxの使用
  2. 証明書(ex:cert_file.cer)をディレクトリ$ JAVA_HOME \ Jre \ Lib \ Securityにコピーします

  3. 管理者でCMDを開き、ディレクトリを$ JAVA_HOME \ Jre \ Lib \ Securityに変更します。

  4. 以下のコマンドを使用して、証明書をトラストストアにインポートします。

keytool -import -alias ca -file cert_file.cer -keystore cacerts -storepass changeit

keytoolが認識できないというエラーが発生した場合は、これを参照してください。

以下のように「はい」と入力します

この証明書を信頼する:[はい]

  1. 次に、コードを実行するか、Javaを使用してプログラムでURLにアクセスしてみてください。

更新

アプリサーバーがjbossの場合は、以下のシステムプロパティを追加してみてください

System.setProperty("org.jboss.security.ignoreHttpsHost","true");

お役に立てれば!

0
Rock 2020-03-30 20:05.

Javaでファイルをダウンロードする必要があるQEMU環境があるので、チャイムを鳴らしたいと思います。それは判明/etc/ssl/certs/java/cacerts、それが一致しないため、QEMUでは問題がない/etc/ssl/certs/java/cacertsホスト環境で。ホスト環境は会社のプロキシの背後にあるため、javacacertsはカスタマイズされたバージョンです。

QEMU環境を使用している場合は、ホストシステムが最初にファイルにアクセスできることを確認してください。たとえば、最初にホストマシンでこのスクリプトを試して確認できます。スクリプトがホストマシンでは問題なく実行され、QEMUでは実行されない場合は、私と同じ問題が発生しています。

この問題を解決するには、QEMUで元のファイルのバックアップを作成し、ホスト環境のファイルをQEMU chroot jailにコピーする必要がありました。そうすると、javaはQEMUでファイルを正常にダウンロードできました。

より良い解決策は/etc、QEMU環境にマウントすることです。ただし、このプロセスで他のファイルが影響を受けるかどうかはわかりません。そこで、この醜いが簡単な回避策を使用することにしました。

Related questions

MORE COOL STUFF

「水曜日」シーズン1の中心には大きなミステリーがあります

「水曜日」シーズン1の中心には大きなミステリーがあります

Netflixの「水曜日」は、典型的な10代のドラマ以上のものであり、実際、シーズン1にはその中心に大きなミステリーがあります.

ボディーランゲージの専門家は、州訪問中にカミラ・パーカー・ボウルズが輝くことを可能にした微妙なケイト・ミドルトンの動きを指摘しています

ボディーランゲージの専門家は、州訪問中にカミラ・パーカー・ボウルズが輝くことを可能にした微妙なケイト・ミドルトンの動きを指摘しています

ケイト・ミドルトンは、州の夕食会と州の訪問中にカミラ・パーカー・ボウルズからスポットライトを奪いたくなかった、と専門家は言う.

一部のファンがハリー・スタイルズとオリビア・ワイルドの「非常に友好的な」休憩が永続的であることを望んでいる理由

一部のファンがハリー・スタイルズとオリビア・ワイルドの「非常に友好的な」休憩が永続的であることを望んでいる理由

一部のファンが、オリビア・ワイルドが彼女とハリー・スタイルズとの間の「難しい」が「非常に友好的」な分割を恒久的にすることを望んでいる理由を見つけてください.

エリザベス女王の死後、ケイト・ミドルトンはまだ「非常に困難な時期」を過ごしている、と王室の専門家が明らかにする 

エリザベス女王の死後、ケイト・ミドルトンはまだ「非常に困難な時期」を過ごしている、と王室の専門家が明らかにする&nbsp;

エリザベス女王の死後、ケイト・ミドルトンが舞台裏で「非常に困難な時期」を過ごしていたと伝えられている理由を調べてください.

セントヘレナのジェイコブのはしごを登るのは、気弱な人向けではありません

セントヘレナのジェイコブのはしごを登るのは、気弱な人向けではありません

セント ヘレナ島のジェイコブズ ラダーは 699 段の真っ直ぐ上る階段で、頂上に到達すると証明書が発行されるほどの難易度です。

The Secrets of Airline Travel Quiz

The Secrets of Airline Travel Quiz

Air travel is far more than getting from point A to point B safely. How much do you know about the million little details that go into flying on airplanes?

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

バイオニック読書はあなたをより速く読むことができますか?

バイオニック読書はあなたをより速く読むことができますか?

BionicReadingアプリの人気が爆発的に高まっています。しかし、それは本当にあなたを速読術にすることができますか?

ラーム・エマニュエルがシカゴ警察の警視を解雇し、身を守る

ラーム・エマニュエルがシカゴ警察の警視を解雇し、身を守る

シカゴ市長のラーム・エマニュエルは、シカゴの警察官による17歳のラカン・マクドナルドの銃撃の失敗した取り扱いに続いて、市の警視官、ギャリーF.マッカーシーを解雇しました。

ダグ・マローネの理想的な食事は、ボローニャのサンドイッチです。

ダグ・マローネの理想的な食事は、ボローニャのサンドイッチです。

写真:ローガンボウルズ/ゲッティイメージズジャイアンツがベンマカドゥーを解雇したので、他の誰かがジムトムスラの精神的後継者でなければなりません。季節だった。ジャガーズのダグ・マローネ監督は、孤独なボローニャサンドイッチに親しみを持っていることを考えると、すでにその役割を担う有力な候補者のようです。

人々がやめる最も一般的な時間、およびプッシュスルーする方法

人々がやめる最も一般的な時間、およびプッシュスルーする方法

時には、それが副次的なプロジェクト、仕事、人間関係、または人生の他の部分であるかどうかにかかわらず、辞めることが最良の選択肢です。しかし、何かを完了するためのリソースがないため、物事が困難になったとき、タイミングが私たちに必要なように「感じ」させたときにも、私たちは辞めます。

黒人女性、あなたの内訳へようこそ

黒人女性、あなたの内訳へようこそ

著者のベニルデ・リトルは、母親の死後のうつ病との戦いを新しい回想録「Welcome toMyBreakdown」で記録しています。チェスター・トイの作家ベニルデ・リトルは、黒人女性にそれが大丈夫だと知ってもらいたいと思っています。

ケイト・ミドルトンとウィリアム王子は、彼らが子供たちと行っているスパイをテーマにした活動を共有しています

ケイト・ミドルトンとウィリアム王子は、彼らが子供たちと行っているスパイをテーマにした活動を共有しています

ケイト・ミドルトンとウィリアム王子は、子供向けのパズルの本の序文を書き、ジョージ王子、シャーロット王女、ルイ王子と一緒にテキストを読むと述べた.

事故で押しつぶされたスイカは、動物を喜ばせ水分補給するために野生生物保護団体に寄付されました

事故で押しつぶされたスイカは、動物を喜ばせ水分補給するために野生生物保護団体に寄付されました

Yak's Produce は、数十個のつぶれたメロンを野生動物のリハビリ専門家であるレスリー グリーンと彼女のルイジアナ州の救助施設で暮らす 42 匹の動物に寄付しました。

デミ・ロヴァートは、新しいミュージシャンのボーイフレンドと「幸せで健康的な関係」にあります: ソース

デミ・ロヴァートは、新しいミュージシャンのボーイフレンドと「幸せで健康的な関係」にあります: ソース

8 枚目のスタジオ アルバムのリリースに向けて準備を進めているデミ ロヴァートは、「スーパー グレート ガイ」と付き合っている、と情報筋は PEOPLE に確認しています。

Plathville の Kim と Olivia Plath が数年ぶりに言葉を交わすことへようこそ

Plathville の Kim と Olivia Plath が数年ぶりに言葉を交わすことへようこそ

イーサン プラスの誕生日のお祝いは、TLC のウェルカム トゥ プラスビルのシーズン 4 のフィナーレで、戦争中の母親のキム プラスと妻のオリビア プラスを結びつけました。

仕事の生産性を高める 8 つのシンプルなホーム オフィスのセットアップのアイデア

仕事の生産性を高める 8 つのシンプルなホーム オフィスのセットアップのアイデア

ホームオフィスのセットアップ術を極めよう!AppExert の開発者は、家族全員が一緒にいる場合でも、在宅勤務の技術を習得しています。祖父や曽祖父が共同家族で暮らしていた頃の記憶がよみがえりました。

2022 年、私たちのデジタル ライフはどこで終わり、「リアル ライフ」はどこから始まるのでしょうか?

20 年前のタイムトラベラーでさえ、日常生活におけるデジタルおよびインターネットベースのサービスの重要性に驚くことでしょう。MySpace、eBay、Napster などのプラットフォームは、高速化に焦点を合わせた世界がどのようなものになるかを示してくれました。

ニューロマーケティングの秘密科学

ニューロマーケティングの秘密科学

マーケティング担当者が人間の欲望を操作するために使用する、最先端の (気味が悪いと言う人もいます) メソッドを探ります。カートをいっぱいにして 3 桁の領収書を持って店を出る前に、ほんの数点の商品を買いに行ったことはありませんか? あなたは一人じゃない。

地理情報システムの日: GIS 開発者として学ぶべき最高の技術スタック

地理情報システムの日: GIS 開発者として学ぶべき最高の技術スタック

私たちが住んでいる世界を確実に理解するには、データが必要です。ただし、空間参照がない場合、このデータは地理的コンテキストがないと役に立たなくなる可能性があります。

Language