導航:首頁 > 操作系統 > android使用openssl

android使用openssl

發布時間:2022-10-24 09:29:32

① 有人研究過更新android系統中的openssl版本么

android4.4系統中自動的openssl版本是1.0.1e,而且這個版本存在安全漏洞,客戶要求升級android系統中的openssl版本,我看了下external/openssl下面的README.android,有些沒看懂,不知道有沒有大俠弄過。OpenSSLontheAndroidplatform.---$OPENSSL_VERSIONinthefileopenssl.version.Seepatches/$OPENSSL_VERSION.PortingNewVersionsofOpenSSL.--.1)/obj/java_LIBRARIES/core-tests_intermediates/classes.jarjavax.net.ssltests.api.javax.net)#RuntestsfromHarmony(croot&&vogar--classpathout/target/common/obj/JAVA_LIBRARIES/apache-harmony-tests_intermediates/classes.jartests.api.java.math.BigIntegerTestorg.apache.harmony.tests.java.math)#rspeedandsize.

② android 怎麼使用自己編譯的openssl

自己結一下帖。是ndk api 8以下不支持libdl中某些特性的原因,添加
Application.mk
APP_PLATFORM := android-8

再次編譯成功

php openssl生成的rsa密鑰給android和ios使用注意哪些問題

openssl的功能:*生成RSA,DSA雙密匙(還可以再給他們簽名)*生成X509證書*計算印章(MD5,SHA,,RIPEMD160)用於加密大文件*加密,解密(演算法有DES,IDEA,RC2,RC4,Blowfish)*SSL伺服器端/客戶端測試*處理簽名或加密了的

④ android 怎麼使用自己編譯的openssl

項目上面右擊如圖:

⑤ android 用opensll怎麼解密

openssl可以將這個文件中的公鑰提取出來:
openssl rsa -in test.key -pubout -out test_pub.key

-in指定輸入文件,-out指定提取生成公鑰的文件名。至此,我們手上就有了一個公鑰,一個私鑰(包含公鑰)。現在可以將用公鑰來加密文件了。
我在目錄中創建一個hello的文本文件,然後利用此前生成的公鑰加密文件:
openssl rsautl -encrypt -in hello -inkey test_pub.key -pubin -out hello.en

-in指定要加密的文件,-inkey指定密鑰,-pubin表明是用純公鑰文件加密,-out為加密後的文件。

⑥ Android:Ubuntu編譯OpenSSL步驟

NDK版本:android-ndk-r14b

OpenSSL版本:1.1.1k/3.0.0

Ubuntu版本:15.5

1、配置ndk環境變數
OpenSSL版本:1.1.1k:export ANDROID_NDK_HOME=/home/linrendi/Desktop/Compile/android-ndk-r14b/
OpenSSL版本:3.0.0: export ANDROID_NDK=/home/linrendi/Desktop/Compile/android-ndk-r14b/
如果是
編譯32位:
OpenSSL版本:1.1.1k:1、export PATH= PATH
OpenSSL版本:3.0.0:1、export PATH= PATH
2、./Configure android-arm -D__ANDROID_API__=21 --prefix=/home/linrendi/Desktop/openssl-1.1.1k/armv7a
3、make -j7 && make install
編譯64位:
OpenSSL版本:1.1.1k:1、export PATH= PATH
OpenSSL版本:3.0.0:1、export PATH= PATH
2、./Configure android-arm64 -D__ANDROID_API__=21 --prefix=/home/linrendi/Desktop/openssl-1.1.1k/arm64
3、make -j7 && make install

注意:當編譯完32位後,又想編譯64位,必須重新解壓,避免一些配置沒有更新導致編譯失敗

⑦ 如何修復應android用中的 openssl 漏洞

建議安全軟體修復

打開騰訊電腦管家——工具箱——修復漏洞
管家漏洞修復提示的補丁是經過專業的工作人員篩選的,模擬國內用戶環境嚴格測試的,是符合用戶需求的部分
騰訊電腦管家會發揮強大的技術能力為用戶提供自製補丁保障安全。請及時修復管家提示的高危漏洞確保您電腦的安全

⑧ 求助,在android端使用openssl生成的rsapublicKey解密的相關問題

首先介紹下命令台下openssl工具的簡單使用:

生成一個密鑰:

openssl genrsa -out test.key 1024
這里-out指定生成文件的。需要注意的是這個文件包含了公鑰和密鑰兩部分,也就是說這個文件即可用來加密也可以用來解密。後面的1024是生成密鑰的長度。

openssl可以將這個文件中的公鑰提取出來:

openssl rsa -in test.key -pubout -out test_pub.key
-in指定輸入文件,-out指定提取生成公鑰的文件名。至此,我們手上就有了一個公鑰,一個私鑰(包含公鑰)。現在可以將用公鑰來加密文件了。

我在目錄中創建一個hello的文本文件,然後利用此前生成的公鑰加密文件:

openssl rsautl -encrypt -in hello -inkey test_pub.key -pubin -out hello.en
-in指定要加密的文件,-inkey指定密鑰,-pubin表明是用純公鑰文件加密,-out為加密後的文件。

解密文件:

openssl rsautl -decrypt -in hello.en -inkey test.key -out hello.de
-in指定被加密的文件,-inkey指定私鑰文件,-out為解密後的文件。

至此,一次加密解密的過程告終。在實際使用中還可能包括證書,這個以後有機會再說~

-------------------------------------------------------------------------------------------------------------------
下來介紹下在程序如何利用之前生成的test.key和test_pub.key來進行信息的加密與解密(當然也可以直接利用openssl的API來生成密鑰文件)。

下面是一個例子,這個例子利用已有的密鑰來對source字元串進行加密與解密:

1 #include<stdio.h>
2 #include<stdlib.h>
3 #include<string.h>
4 #include<openssl/rsa.h>
5 #include<openssl/pem.h>
6 #include<openssl/err.h>
7 #define OPENSSLKEY "test.key"
8 #define PUBLICKEY "test_pub.key"
9 #define BUFFSIZE 1024
10 char* my_encrypt(char *str,char *path_key);//加密
11 char* my_decrypt(char *str,char *path_key);//解密
12 int main(void){
13 char *source="i like dancing !";
14 char *ptr_en,*ptr_de;
15 printf("source is :%s\n",source);
16 ptr_en=my_encrypt(source,PUBLICKEY);
17 printf("after encrypt:%s\n",ptr_en);
18 ptr_de=my_decrypt(ptr_en,OPENSSLKEY);
19 printf("after decrypt:%s\n",ptr_de);
20 if(ptr_en!=NULL){
21 free(ptr_en);
22 }
23 if(ptr_de!=NULL){
24 free(ptr_de);
25 }
26 return 0;
27 }
28 char *my_encrypt(char *str,char *path_key){
29 char *p_en;
30 RSA *p_rsa;
31 FILE *file;
32 int flen,rsa_len;
33 if((file=fopen(path_key,"r"))==NULL){
34 perror("open key file error");
35 return NULL;
36 }
37 if((p_rsa=PEM_read_RSA_PUBKEY(file,NULL,NULL,NULL))==NULL){
38 //if((p_rsa=PEM_read_RSAPublicKey(file,NULL,NULL,NULL))==NULL){ 換成這句死活通不過,無論是否將公鑰分離源文件
39 ERR_print_errors_fp(stdout);
40 return NULL;
41 }
42 flen=strlen(str);
43 rsa_len=RSA_size(p_rsa);
44 p_en=(unsigned char *)malloc(rsa_len+1);
45 memset(p_en,0,rsa_len+1);
46 if(RSA_public_encrypt(rsa_len,(unsigned char *)str,(unsigned char*)p_en,p_rsa,RSA_NO_PADDING)<0){
47 return NULL;
48 }
49 RSA_free(p_rsa);
50 fclose(file);
51 return p_en;
52 }
53 char *my_decrypt(char *str,char *path_key){
54 char *p_de;
55 RSA *p_rsa;
56 FILE *file;
57 int rsa_len;
58 if((file=fopen(path_key,"r"))==NULL){
59 perror("open key file error");
60 return NULL;
61 }
62 if((p_rsa=PEM_read_RSAPrivateKey(file,NULL,NULL,NULL))==NULL){
63 ERR_print_errors_fp(stdout);
64 return NULL;
65 }
66 rsa_len=RSA_size(p_rsa);
67 p_de=(unsigned char *)malloc(rsa_len+1);
68 memset(p_de,0,rsa_len+1);
69 if(RSA_private_decrypt(rsa_len,(unsigned char *)str,(unsigned char*)p_de,p_rsa,RSA_NO_PADDING)<0){
70 return NULL;
71 }
72 RSA_free(p_rsa);
73 fclose(file);
74 return p_de;
75 }

閱讀全文

與android使用openssl相關的資料

熱點內容
國貨哪個品牌最好app 瀏覽:949
看哪個app給錢最多 瀏覽:178
編程靠經驗嗎 瀏覽:759
c教程pdf下載地址 瀏覽:573
製作視頻哪個app有瘦臉功能 瀏覽:647
linux查看線程內存 瀏覽:509
命令行簽名apk 瀏覽:92
網頁照片旋轉源碼 瀏覽:842
QQ會員頭像源碼 瀏覽:263
內核命令行 瀏覽:324
腳本提取源碼器 瀏覽:930
smo源碼 瀏覽:877
為什麼要搭建單獨伺服器 瀏覽:480
編譯器有什麼控制 瀏覽:893
希爾伯特pdf 瀏覽:645
php數組全數字 瀏覽:647
解密塔羅牌小程序源碼 瀏覽:862
聚合跑分源碼 瀏覽:555
注冊dns伺服器寫什麼 瀏覽:881
linux安裝deb包 瀏覽:521