标签: tls1.2

如何在 Wildfly 10 独立模式下启用 TLS v1.2?

需要帮助以确保我们的 Wildfly 10 服务器(安装在 Ubuntu 16.04.1 LTS 上)仅支持 TLS v1.2 及更高版本。

如何检查当前的 ssl 证书版本?

我们通过编辑 standalone.xml 在我们的服务器中启用了 https

    <security-realms>
        <security-realm name="ManagementRealm">
            <authentication>
                <local default-user="$local" skip-group-loading="true"/>
                <properties path="mgmt-users.properties" relative-to="jboss.server.config.dir"/>
            </authentication>
            <authorization map-groups-to-roles="false">
                <properties path="mgmt-groups.properties" relative-to="jboss.server.config.dir"/>
            </authorization>
        </security-realm>
        <security-realm name="ApplicationRealm">
            <server-identities>
                <ssl>
                    <keystore path="server.keystore" relative-to="jboss.server.config.dir" keystore-password="serverpassword" alias="server" key-password="serverpassword"/>
                </ssl>
            </server-identities>
            <authentication>
                <local default-user="$local" allowed-users="*" skip-group-loading="true"/>
                <properties path="application-users.properties" relative-to="jboss.server.config.dir"/>
            </authentication>
            <authorization>
                <properties path="application-roles.properties" relative-to="jboss.server.config.dir"/>
            </authorization>
        </security-realm>
    </security-realms>
    <subsystem xmlns="urn:jboss:domain:security:1.2">
        <security-domains>
            <security-domain name="other" cache-type="default">
                <authentication>
                    <login-module code="Remoting" flag="optional">
                        <module-option name="password-stacking" value="useFirstPass"/>
                    </login-module>
                    <login-module code="RealmDirect" …
Run Code Online (Sandbox Code Playgroud)

tls1.2 wildfly-10

1
推荐指数
1
解决办法
1万
查看次数

我是否需要客户端私钥来建立安全的 TLS/SSL 连接?

我在嵌入式设备上遇到了一个 mbedTLS 示例,在下载固件之前我看到了服务器证书验证(以 github.com 为例),但唯一编码的证书/密钥是 github 之一(CA 链,而不是 github 证书)本身)。

我的问题是:

  1. 如果我执行服务器 CA 验证,我只需要 CA 证书吗?
  2. 服务器验证后,两者之间的通信是否完全加密,这意味着固件文件是明文暴露的还是加密的?加密是使用服务器的私钥完成的吗?(我想它是在 github 服务器上)。如果不是,服务器私钥有什么用?正直?
  3. 我还需要客户端私钥来建立加密连接吗?如果不是,客户端私钥是否应该与服务器私钥执行相同的操作,但在客户端?

我对答案有一个大致的了解,但我需要确定性。

问候,

embedded ssl https tls1.2 mbedtls

1
推荐指数
1
解决办法
3537
查看次数

从 Go gRPC 处理程序中的客户端证书获取主题 DN

我正在使用带有相互 tls 的 Golang gRPC。是否可以从 rpc 方法获取客户端的证书主题 DN?

// ...
func main() {
    // ...
    creds := credentials.NewTLS(&tls.Config{
        ClientAuth:   tls.RequireAndVerifyClientCert,
        Certificates: []tls.Certificate{certificate},
        ClientCAs:    certPool,
        MinVersion:   tsl.VersionTLS12,
    })
    s := NewMyService()
    gs := grpc.NewServer(grpc.Creds(creds))
    RegisterGRPCZmqProxyServer(gs, s)
    er := gs.Serve(lis)
    // ...
}

// ...
func (s *myService) Foo(ctx context.Context, req *FooRequest) (*FooResonse, error) {
    $dn := // What should be here?
    // ...
}
Run Code Online (Sandbox Code Playgroud)

是否可以?

ssl-certificate go mutual-authentication grpc tls1.2

1
推荐指数
1
解决办法
1450
查看次数

Netty SSL 中的字段长度溢出

我使用 Netty 实现带有安全套接字的服务器。我的 sslHandler 代码是:

SslHandler sslHandler = SslContextBuilder
                            .forServer(certFile, keyFile)
                            .trustManager(trustFile)
                            .clientAuth(ClientAuth.REQUIRE)
                            .build()
                            .newHandler(channel.alloc());
Run Code Online (Sandbox Code Playgroud)

trustFile是一个 File 对象,其中包含大约 700 条证书文本,例如:

-----开始证书----- MIIEHDCCAwSgAwiBAgIJAOR6+3G8C6f7MA0GCSqGSIb3DQEBCwUAMIGNMQswCQYD VQQGEwJVUzESMBAGA1UECAwJQ2FsaWZvbWlhMRwwGgYDVQQKDBNDaXNjbyBTeXN0 ................................ ............................ igHdyc519KbYSMfhuM9gXw35LPmFWStBGYikBcMZJ1WmWxb/eZOK1SMjVQ/L/JVg -----结束证书-----

当我连接服务器时

curl -k -v -E client.pem --key client.key.pem --cacert rootCA.pem https://10.140.28.33:31069

弹出异常:

11:00:18.636 [nioEventLoopGroup-3-2] WARN io.netty.channel.DefaultChannelPipeline - An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
io.netty.handler.codec.DecoderException: java.lang.RuntimeException: Field length overflow, the field …
Run Code Online (Sandbox Code Playgroud)

java ssl openssl netty tls1.2

1
推荐指数
1
解决办法
451
查看次数

Stripe TLS 1.2 升级问题

我的网站正在运行 TLS 1.2,经https://www.ssllabs.com/验证 。但是,我在 Stripe 中不断看到收费以 TLS 1.0 方式进行,我需要升级。

我致电 Hostmonster,他们还验证了我使用的是 TLS 1.2。

那么我错过了什么?为什么费用仍然通过 TLS 1.0 进行?

我正在使用 Stripe 和 PHP。

php ssl stripe-payments tls1.2

1
推荐指数
1
解决办法
378
查看次数

如何在Ubuntu中将OpenSSL从1.0.2g升级到1.1.0g并让python识别新的OpenSSL

我有Ubuntu 16.04。它有OpenSSL 1.0.2g。我需要使用OpenSSL 1.1.0g。请注意,OpenSSL 1.1.0g已安装在另一台计算机上Ubuntu 18。但是我需要在其中运行python程序,Ubuntu 16.04但需要特定的OpenSSL 1.1.0g。我做了:

sudo apt-get upgrade
sudo apt-get update
Run Code Online (Sandbox Code Playgroud)

但是OpenSSL在我的Ubuntu机器上没有更新。我该如何更新?

我使用Python socket, ssl模块,以使端口443威尔蟒蛇TLS连接会自动识别OpenSSL 1.1.0g,如果我更新了老OpenSSL 1.0.2gOpenSSL 1.1.0g

升级的原因OpenSSL是我需要运行python程序ssl socket,但我需要使用该程序OpenSSL 1.1.0g

当我尝试:

sudo apt-get install openssl
Run Code Online (Sandbox Code Playgroud)

并通过以下方式检查OpenSSL版本:openssl version -a 我得到了旧版本OpenSSL 1.0.2g

请问如何OpenSSL 1.1.0g在我的Ubuntu 14.06机器上获得新版本?

ssl openssl pyopenssl tls1.2 ubuntu-16.04

1
推荐指数
1
解决办法
1万
查看次数

Windows 10 中的 Pip ReadTimeoutError

从其主网站下载的全新 Python 3.7 64 位安装,可在 Windows 10 专业版上运行。以管理员权限使用 PowerShell。Pip 总是抛出 ReadTimeoutError

命令:

python -m pip -vvv install --upgrade pip

返回以下内容:

配置变量 'Py_DEBUG' 未设置,Python ABI 标签可能不正确 配置变量 'WITH_PYMALLOC' 未设置,Python ABI 标签可能不正确 创建临时目录:C:\Users\vbfal\AppData\Local\Temp\pip-ephem-wheel -cache-sotpqqgg 创建临时目录:C:\Users\vbfal\AppData\Local\Temp\pip-install-qqmlc7qa 1 个用于搜索 pip 版本的位置:* https://pypi.org/simple/pip /获取页面https://pypi.org/simple/pip/查找“ https://pypi.org/simple/pip/" 在缓存中没有可用的缓存条目开始新的 HTTPS 连接 (1): pypi.org Incremented Retry for (url='/simple/pip/'): Retry(total=4, connect=None, read=None, redirect= None, status=None) 在连接被 'ReadTimeoutError("HTTPSConnectionPool(host='pypi.org', port =443): 读取超时。(读取超时 = 15)")': /simple/pip/ 开始新的 HTTPS 连接 (2): pypi.org Incremented Retry for (url='/simple/pip/'): Retry (total=3, …

pip python-3.x windows-10 tls1.2

1
推荐指数
1
解决办法
1860
查看次数

OpenSSL TLS/DTLS PSK

我正在开发一个应用程序,其中密钥服务器(K)生成对称密钥并与服务器(A)和客户端(B)共享。A 和 B 通过 UDP 连接。我正在使用内存 BIO,并尝试使用密码“PSK-AES128-CBC-SHA”。

我有几个与此相关的问题:

  1. 当我们有对称密钥时,我们还应该调用 SSL_do_handshake 吗?
  2. 当我通过此调用设置密码时SSL_CTX_set_cipher_list(context, "PSK-AES128-CBC-SHA");出现错误SSL routines:ssl_cipher_list_to_bytes:no ciphers available

我尝试使用 TLSV1_2_server_method、TLSV1_2_server_method、DTLS_server_method、DTLS_client_method,但每种方法都因上述错误而失败。

是否有可用于 TLS-PSK 加密的示例代码?我在网上找不到任何好的教程或示例。

我在执行此操作时参考了这篇文章,但我使用的是内存 BIO https://bitbucket.org/tiebingzhang/tls-psk-server-client-example/src/783092f802383421cfa1088b0e7b804b39d3cf7c/psk_server.c?at=default&fileviewer=文件视图默认值

ssl openssl tls1.2 tls-psk

1
推荐指数
1
解决办法
2489
查看次数

如何为 Exoplayer 启用/支持 TLS 1.1,1.2?

错误:SSL 握手中止:ssl=0x676a5680:SSL 库失败,通常是协议错误

根据此Android 文档,API 16+ 支持TLS 1.11.2 ,但在 API 20+ 之前默认不启用。我找到了一些解决方案(此处此处此处此处),用于启用 OkHttp 的 TLS 1.1 和 1.2 支持。如何启用 Exoplayer 的 TLS 1.1/1.2 支持?我发现的关于 Exoplayer TLS 1.1/1.2 支持的唯一帖子来自此 github问题,该问题建议改为在此处提出问题。

“07-27 13:21:09.817 8925-9065/com.ftsgps.monarch E/ExoPlayerImplInternal:源错误。com.google.android.exoplayer2.upstream.HttpDataSource$HttpDataSourceException:无法连接到https://liveStream/LIVE -0089000D05/manifest.mpd 在 com.google.android.exoplayer2.upstream.DefaultHttpDataSource.open(DefaultHttpDataSource.java:194) 在 com.google.android.exoplayer2.upstream.DefaultDataSource.open(DefaultDataSource.java:147) 在 com .google.android.exoplayer2.upstream.DataSourceInputStream.checkOpened(DataSourceInputStream.java:102) 在 com.google.android.exoplayer2.upstream.DataSourceInputStream.open(DataSourceInputStream.java:65) 在 com.google.android.exoplayer2.upstream .ParsingLoadable.load(ParsingLoadable.java:129) 在 com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:308) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112) )在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587) 在 java.lang.Thread.run(Thread.java:841) 引起:javax.net.ssl.SSLHandshakeException:javax.net。 ssl.SSLProtocolException:SSL握手中止:ssl=0x722c3af8:SSL库失败,通常是协议错误错误:14077410:SSL例程:SSL23_GET_SERVER_HELLO:sslv3警报握手失败(外部/openssl/ssl/s23_clnt.c:744 0x689d8f10:0x00000 000) ”

这种情况仅发生在 API 21 …

android exoplayer tls1.2

1
推荐指数
1
解决办法
2867
查看次数

尝试使用 smtp-relay.gmail.com 和 Nodemailer 发送电子邮件。错误 ssl3_get_record: 错误的版本号

试图以G套房发送电子邮件smtp-relay使用Nodemailer

const transporter = nodemailer.createTransport({
  host: "smtp-relay.gmail.com",
  port: 587,
  secure: true,
  auth: {
    user: "username@mydomain.com",
    pass: "password"
  }
});

const result = await transporter.sendMail({
  from: `'"JOHN" <john@externaldomain.com>'`,
  to: "hello@mydomain.com",
  subject: "Hello",
  text: "Hello world!",
});
Run Code Online (Sandbox Code Playgroud)

这就是 G Suite 所说的使用TLSLink1 Link2

在此处输入图片说明

在此处输入图片说明

这是 Nodemailer 所说的:链接

在此处输入图片说明

继续

基本上 G Suite 告诉我我应该为 TLS 使用端口 587,而 Nodemailer 说我不应该。

不知道它是否与端口有关,但这是我收到的错误:

注意:我正在尝试 port 587

{ [错误:13252:错误:1408F10B:SSL 例程:ssl3_get_record:错误的版本号:c:\ws\deps\openssl\openssl\ssl\record\ssl3_record.c:332:] 代码:'ESOCKET',命令:'连接'}

如果我更改为 port 465,则会收到此错误:

'535-5.7.8 用户名和密码不被接受。在\n535 5.7.8 https://support.google.com/mail/?p=BadCredentials了解更多 信息,响应代码:535,命令:'AUTH …

email ssl nodemailer tls1.2 google-workspace

1
推荐指数
1
解决办法
1749
查看次数