jntass / TASSL

此仓库已停止维护,请移步https://github.com/jntass/TASSL-1.1.1
http://www.tass.com.cn
Other
291 stars 106 forks source link

是否有将tassl编译到apr? #26

Closed Alex-Studio-Github closed 6 years ago

Alex-Studio-Github commented 6 years ago

首先感谢江南天安的无私奉献,我们搞密码的同仁们大都在公司内部搞openssl的国密化。然后是否可以将apr也编译一份?这样360浏览器+tomcat就可以形成完整的链条,本来想自己编译的,但由贵公司出马的话效率和稳定性还是很值得期待的。

jntass commented 6 years ago

这个工作我们原来好像搞过,后期整理一下发布给大家。感谢关注tassl!

memdumper commented 5 years ago

@jntass tomcat的https配置似乎没有设置加密证书的选项。

memdumper commented 5 years ago
  1. 修改 tomcat-native-1.2.17-src\native\src \sslcontext.c下的 TCN_IMPLEMENT_CALL(jboolean, SSLContext, setCertificate)(TCN_STDARGS, jlong ctx, jstring cert, jstring key, jstring password, jint idx) 在 if (SSL_CTX_check_private_key(c->ctx) <= 0) { ERR_error_string(SSL_ERR_get(), err); tcn_Throw(e, "Private key does not match the certificate public key (%s)", err); rv = JNI_FALSE; goto cleanup; } 后面添加 if (SSL_CTX_use_certificate_file(c->ctx, "改成加密证书路径", SSL_FILETYPE_PEM) <= 0) { ERR_error_string(SSL_ERR_get(), err); tcn_Throw(e, "Error setting enc certificate (%s)", err); rv = JNI_FALSE; goto cleanup; }

    if (SSL_CTX_use_enc_PrivateKey_file(c->ctx, "改成加密证书的密钥文件路径", SSL_FILETYPE_PEM) <= 0) { ERR_error_string(SSL_ERR_get(), err); tcn_Throw(e, "Error setting enc private key (%s)", err); rv = JNI_FALSE; goto cleanup; } 重新编译apr

  2. 在tomat server.xml 配置https SSLCertificateFile="/root/apache-tomcat-7.0.90/ssl-key/SS.pem" SSLCertificateKeyFile="/root/apache-tomcat-7.0.90/ssl-key/SS.pem" clientAuth="false" sslProtocol="TLSv1.1" /
  3. 使用360国密浏览器,添加信任根,使用国密SSL,可以正常访问到Tomcat页面。