Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
TousAntiCovid sources
TousAntiCovid Android
Commits
e6e62524
Commit
e6e62524
authored
Sep 10, 2020
by
stopcovid@lunabee.com
Browse files
Update to 1.1.4
parent
009bbd4c
Changes
55
Hide whitespace changes
Inline
Side-by-side
coreui/build.gradle
View file @
e6e62524
...
...
@@ -18,10 +18,12 @@ android {
buildTypes
{
debug
{
buildConfigField
'Boolean'
,
'USE_LOCAL_DATA'
,
'false'
buildConfigField
'Boolean'
,
'USE_LOCAL_DATA'
,
'true'
buildConfigField
'long'
,
'REFRESH_STRING_MIN_DURATION'
,
'(long) 0.01'
}
release
{
buildConfigField
'Boolean'
,
'USE_LOCAL_DATA'
,
'false'
buildConfigField
'long'
,
'REFRESH_STRING_MIN_DURATION'
,
'1L'
}
}
defaultConfig
{
...
...
coreui/src/main/java/com/lunabeestudio/stopcovid/coreui/manager/ServerManager.kt
View file @
e6e62524
...
...
@@ -39,7 +39,7 @@ abstract class ServerManager {
protected
open
fun
url
():
String
=
BuildConfig
.
SERVER_URL
@WorkerThread
protected
fun
fetchLast
(
context
:
Context
,
languageCode
:
String
,
forceRefresh
:
Boolean
):
Boolean
{
protected
suspend
fun
fetchLast
(
context
:
Context
,
languageCode
:
String
,
forceRefresh
:
Boolean
):
Boolean
{
return
try
{
if
(
shouldRefresh
(
context
)
||
forceRefresh
)
{
val
filename
=
"${prefix(context)}${languageCode}${extension()}"
...
...
@@ -95,7 +95,8 @@ abstract class ServerManager {
private
fun
shouldRefresh
(
context
:
Context
):
Boolean
{
return
!
BuildConfig
.
USE_LOCAL_DATA
&&
abs
(
System
.
currentTimeMillis
()
-
PreferenceManager
.
getDefaultSharedPreferences
(
context
)
.
getLong
(
lastRefreshSharedPrefsKey
(),
0L
))
>
TimeUnit
.
HOURS
.
toMillis
(
1L
)
.
getLong
(
lastRefreshSharedPrefsKey
(),
0L
))
>
TimeUnit
.
HOURS
.
toMillis
(
BuildConfig
.
REFRESH_STRING_MIN_DURATION
)
}
private
fun
saveLastRefresh
(
context
:
Context
)
{
...
...
@@ -103,4 +104,4 @@ abstract class ServerManager {
putLong
(
lastRefreshSharedPrefsKey
(),
System
.
currentTimeMillis
())
}
}
}
\ No newline at end of file
}
coreui/src/main/res/layout/layout_button_bottom_sheet.xml
View file @
e6e62524
...
...
@@ -7,38 +7,41 @@
~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~ Created by Lunabee Studio / Date - 2020/04/05 - for the STOP-COVID project
-->
<
androidx.coordinatorlayout.widget.CoordinatorLayout
<
merge
xmlns:android=
"http://schemas.android.com/apk/res/android"
xmlns:app=
"http://schemas.android.com/apk/res-auto"
xmlns:tools=
"http://schemas.android.com/tools"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:focusable=
"true"
>
xmlns:tools=
"http://schemas.android.com/tools"
>
<FrameLayout
android:id=
"@+id/bottomSheetFrameLayout"
<androidx.coordinatorlayout.widget.CoordinatorLayout
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
app:behavior_hideable=
"false"
app:layout_behavior=
"@string/bottom_sheet_behavior"
>
android:layout_height=
"match_parent"
android:focusable=
"true"
>
<com.google.android.material.card.MaterialCardView
android:id=
"@+id/bottomSheetCardView"
style=
"@style/Widget.MaterialComponents.CardView"
<FrameLayout
android:id=
"@+id/bottomSheetFrameLayout"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
a
ndroid:layout_marginTop=
"@dimen/spacing_medium
"
app:
cardElevat
io
n
=
"@
dimen
/bottom_sheet_
card_elevat
io
n
"
>
a
pp:behavior_hideable=
"false
"
app:
layout_behav
io
r
=
"@
string
/bottom_sheet_
behav
io
r
"
>
<com.google.android.material.
button
.Material
Button
android:id=
"@+id/bottomSheet
Button
"
style=
"@style/Widget.
StopCovid.Button
"
<com.google.android.material.
card
.Material
CardView
android:id=
"@+id/bottomSheet
CardView
"
style=
"@style/Widget.
MaterialComponents.CardView
"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"@dimen/spacing_xlarge"
android:layout_marginVertical=
"@dimen/spacing_large"
android:textAllCaps=
"false"
tools:text=
"@tools:sample/lorem[3]"
/>
</com.google.android.material.card.MaterialCardView>
</FrameLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
\ No newline at end of file
android:layout_marginTop=
"@dimen/spacing_medium"
app:cardElevation=
"@dimen/bottom_sheet_card_elevation"
>
<com.google.android.material.button.MaterialButton
android:id=
"@+id/bottomSheetButton"
style=
"@style/Widget.StopCovid.Button"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
android:layout_marginHorizontal=
"@dimen/spacing_xlarge"
android:layout_marginVertical=
"@dimen/spacing_large"
android:textAllCaps=
"false"
tools:text=
"@tools:sample/lorem[3]"
/>
</com.google.android.material.card.MaterialCardView>
</FrameLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
</merge>
\ No newline at end of file
framework/src/androidTest/java/com/lunabeestudio/framework/remote/ServiceTest.kt
View file @
e6e62524
...
...
@@ -76,26 +76,6 @@ class ServiceTest {
}
}
@Test
fun
registerTest
()
{
server
.
enqueue
(
MockResponse
().
setResponseCode
(
200
)
.
setBody
(
ResourcesHelper
.
readTestFileAsString
(
"registerSuccess"
)))
val
result
=
runBlocking
{
dataSource
.
register
(
""
,
""
,
""
)
}
assertThat
(
result
).
isInstanceOf
(
RobertResultData
.
Success
::
class
.
java
)
result
as
RobertResultData
.
Success
assertThat
(
result
.
data
.
message
).
isEqualTo
(
"The application did register successfully"
)
assertThat
(
result
.
data
.
timeStart
).
isEqualTo
(
3796669679L
)
assertThat
(
result
.
data
.
configuration
?.
size
).
isEqualTo
(
1
)
assertThat
(
result
.
data
.
configuration
?.
get
(
0
)
?.
name
).
isEqualTo
(
"distance"
)
assertThat
(
result
.
data
.
configuration
?.
get
(
0
)
?.
value
).
isEqualTo
(
12.0
)
testDataErrors
{
dataSource
.
register
(
""
,
""
,
""
)
}
}
@Test
fun
statusTest
()
{
server
.
enqueue
(
MockResponse
().
setResponseCode
(
200
)
...
...
framework/src/androidTest/resources/registerSuccess
deleted
100644 → 0
View file @
009bbd4c
{
"message": "The application did register successfully",
"tuples": "test",
"timeStart": 3796669679,
"config": [
{
"name": "distance",
"value": 12
}
]
}
\ No newline at end of file
framework/src/main/java/com/lunabeestudio/framework/local/LocalCryptoManager.kt
View file @
e6e62524
...
...
@@ -292,7 +292,7 @@ class LocalCryptoManager(private val appContext: Context) {
private
const
val
RSA_WRAP_CIPHER_TYPE
=
"RSA/NONE/PKCS1Padding"
private
const
val
AES_WRAPPED_PROTECTION_KEY_SHARED_PREFERENCE
=
"aes_wrapped_local_protection"
private
const
val
BUFFER_SIZE
=
4
*
1024
private
const
val
BUFFER_SIZE
=
4
*
256
private
val
prng
:
SecureRandom
=
SecureRandom
()
}
...
...
framework/src/main/java/com/lunabeestudio/framework/local/datasource/SecureKeystoreDataSource.kt
View file @
e6e62524
...
...
@@ -91,25 +91,6 @@ class SecureKeystoreDataSource(context: Context, private val cryptoManager: Loca
}
}
override
var
atRisk
:
Boolean
?
get
()
{
val
encryptedText
=
sharedPreferences
.
getString
(
SHARED_PREF_KEY_AT_RISK
,
null
)
return
if
(
encryptedText
!=
null
)
{
cryptoManager
.
decryptToString
(
encryptedText
).
toBoolean
()
}
else
{
null
}
}
set
(
value
)
{
if
(
value
!=
null
)
{
sharedPreferences
.
edit
()
.
putString
(
SHARED_PREF_KEY_AT_RISK
,
cryptoManager
.
encryptToString
(
value
.
toString
()))
.
apply
()
}
else
{
sharedPreferences
.
edit
().
remove
(
SHARED_PREF_KEY_AT_RISK
).
apply
()
}
}
override
var
atRiskLastRefresh
:
Long
?
get
()
{
val
encryptedText
=
sharedPreferences
.
getString
(
SHARED_PREF_KEY_AT_RISK_LAST_REFRESH
,
null
)
...
...
@@ -167,6 +148,25 @@ class SecureKeystoreDataSource(context: Context, private val cryptoManager: Loca
}
}
override
var
lastRiskReceivedDate
:
Long
?
get
()
{
val
encryptedText
=
sharedPreferences
.
getString
(
SHARED_PREF_KEY_LAST_RISK_RECEIVED_DATE
,
null
)
return
if
(
encryptedText
!=
null
)
{
cryptoManager
.
decryptToString
(
encryptedText
).
toLongOrNull
()
}
else
{
null
}
}
set
(
value
)
{
if
(
value
!=
null
)
{
sharedPreferences
.
edit
()
.
putString
(
SHARED_PREF_KEY_LAST_RISK_RECEIVED_DATE
,
cryptoManager
.
encryptToString
(
value
.
toString
()))
.
apply
()
}
else
{
sharedPreferences
.
edit
().
remove
(
SHARED_PREF_KEY_LAST_RISK_RECEIVED_DATE
).
apply
()
}
}
override
var
lastExposureTimeframe
:
Int
?
get
()
{
val
encryptedText
=
sharedPreferences
.
getString
(
SHARED_PREF_KEY_LAST_EXPOSURE_TIMEFRAME
,
null
)
...
...
@@ -478,8 +478,8 @@ class SecureKeystoreDataSource(context: Context, private val cryptoManager: Loca
private
const
val
SHARED_PREF_KEY_KA
=
"shared.pref.ka"
private
const
val
SHARED_PREF_KEY_KEA
=
"shared.pref.kea"
private
const
val
SHARED_PREF_KEY_TIME_START
=
"shared.pref.time_start"
private
const
val
SHARED_PREF_KEY_AT_RISK
=
"shared.pref.at_risk"
private
const
val
SHARED_PREF_KEY_AT_RISK_LAST_REFRESH
=
"shared.pref.at_risk_last_refresh"
private
const
val
SHARED_PREF_KEY_LAST_RISK_RECEIVED_DATE
=
"shared.pref.last_risk_received_date"
private
const
val
SHARED_PREF_KEY_AT_RISK_MIN_HOUR_CONTACT_NOTIF
=
"shared.pref.at_risk_min_hour_contact_notif"
private
const
val
SHARED_PREF_KEY_AT_RISK_MAX_HOUR_CONTACT_NOTIF
=
"shared.pref.at_risk_max_hour_contact_notif"
private
const
val
SHARED_PREF_KEY_LAST_EXPOSURE_TIMEFRAME
=
"shared.pref.last_exposure_timeframe"
...
...
framework/src/main/java/com/lunabeestudio/framework/remote/RetrofitClient.kt
View file @
e6e62524
...
...
@@ -62,24 +62,6 @@ object RetrofitClient {
val
certificates
:
HandshakeCertificates
=
HandshakeCertificates
.
Builder
()
.
addTrustedCertificate
(
certificateFromString
(
context
,
"api_stopcovid_gouv_fr"
))
.
addTrustedCertificate
(
certificateFromString
(
context
,
"app_stopcovid_gouv_fr"
))
.
addTrustedCertificate
(
certificateFromString
(
context
,
"giag4"
))
.
addTrustedCertificate
(
certificateFromString
(
context
,
"giag4ecc"
))
.
addTrustedCertificate
(
certificateFromString
(
context
,
"googleca1"
))
.
addTrustedCertificate
(
certificateFromString
(
context
,
"gsr2"
))
.
addTrustedCertificate
(
certificateFromString
(
context
,
"gsr4"
))
.
addTrustedCertificate
(
certificateFromString
(
context
,
"gts1d2"
))
.
addTrustedCertificate
(
certificateFromString
(
context
,
"gts1o1"
))
.
addTrustedCertificate
(
certificateFromString
(
context
,
"gtsca1d3"
))
.
addTrustedCertificate
(
certificateFromString
(
context
,
"gtsltsr"
))
.
addTrustedCertificate
(
certificateFromString
(
context
,
"gtsltsx"
))
.
addTrustedCertificate
(
certificateFromString
(
context
,
"gtsr1"
))
.
addTrustedCertificate
(
certificateFromString
(
context
,
"gtsr2"
))
.
addTrustedCertificate
(
certificateFromString
(
context
,
"gtsr3"
))
.
addTrustedCertificate
(
certificateFromString
(
context
,
"gtsr4"
))
.
addTrustedCertificate
(
certificateFromString
(
context
,
"gtsy1"
))
.
addTrustedCertificate
(
certificateFromString
(
context
,
"gtsy2"
))
.
addTrustedCertificate
(
certificateFromString
(
context
,
"gtsy3"
))
.
addTrustedCertificate
(
certificateFromString
(
context
,
"gtsy4"
))
.
build
()
sslSocketFactory
(
certificates
.
sslSocketFactory
(),
certificates
.
trustManager
)
}
...
...
framework/src/main/java/com/lunabeestudio/framework/remote/datasource/ServiceDataSource.kt
View file @
e6e62524
...
...
@@ -20,7 +20,6 @@ import com.lunabeestudio.framework.remote.RetrofitClient
import
com.lunabeestudio.framework.remote.extension.remoteToRobertException
import
com.lunabeestudio.framework.remote.model.ApiCommonRS
import
com.lunabeestudio.framework.remote.model.ApiDeleteExposureHistoryRQ
import
com.lunabeestudio.framework.remote.model.ApiRegisterRQ
import
com.lunabeestudio.framework.remote.model.ApiRegisterV2RQ
import
com.lunabeestudio.framework.remote.model.ApiReportRQ
import
com.lunabeestudio.framework.remote.model.ApiStatusRQ
...
...
@@ -86,16 +85,6 @@ class ServiceDataSource(context: Context, baseUrl: String = BuildConfig.BASE_URL
}
}
override
suspend
fun
register
(
apiVersion
:
String
,
captcha
:
String
,
clientPublicECDHKey
:
String
):
RobertResultData
<
RegisterReport
>
{
val
result
=
tryCatchRequestData
{
api
.
register
(
apiVersion
,
ApiRegisterRQ
(
captcha
=
captcha
,
clientPublicECDHKey
=
clientPublicECDHKey
))
}
return
when
(
result
)
{
is
RobertResultData
.
Success
->
RobertResultData
.
Success
(
result
.
data
.
toDomain
())
is
RobertResultData
.
Failure
->
RobertResultData
.
Failure
(
result
.
error
)
}
}
override
suspend
fun
unregister
(
apiVersion
:
String
,
ssu
:
ServerStatusUpdate
):
RobertResult
{
return
tryCatchRequest
{
api
.
unregister
(
apiVersion
,
ApiUnregisterRQ
(
ebid
=
ssu
.
ebid
,
epochId
=
ssu
.
epochId
,
time
=
ssu
.
time
,
mac
=
ssu
.
mac
))
...
...
framework/src/main/java/com/lunabeestudio/framework/remote/server/StopCovidApi.kt
View file @
e6e62524
...
...
@@ -13,7 +13,6 @@ package com.lunabeestudio.framework.remote.server
import
com.lunabeestudio.framework.remote.model.ApiCaptchaRS
import
com.lunabeestudio.framework.remote.model.ApiCommonRS
import
com.lunabeestudio.framework.remote.model.ApiDeleteExposureHistoryRQ
import
com.lunabeestudio.framework.remote.model.ApiRegisterRQ
import
com.lunabeestudio.framework.remote.model.ApiRegisterRS
import
com.lunabeestudio.framework.remote.model.ApiRegisterV2RQ
import
com.lunabeestudio.framework.remote.model.ApiReportRQ
...
...
@@ -38,9 +37,6 @@ internal interface StopCovidApi {
@Path
(
"captchaId"
)
captchaId
:
String
,
@Path
(
"type"
)
type
:
String
):
Response
<
ResponseBody
>
@POST
(
"/api/{apiVersion}/register"
)
suspend
fun
register
(
@Path
(
"apiVersion"
)
apiVersion
:
String
,
@Body
registerRQ
:
ApiRegisterRQ
):
Response
<
ApiRegisterRS
>
@POST
(
"/api/{apiVersion}/register"
)
suspend
fun
registerV2
(
@Path
(
"apiVersion"
)
apiVersion
:
String
,
@Body
registerRQ
:
ApiRegisterV2RQ
):
Response
<
ApiRegisterRS
>
...
...
framework/src/main/res/raw/giag4.pem
deleted
100644 → 0
View file @
009bbd4c
-----BEGIN CERTIFICATE-----
MIIEUjCCAzqgAwIBAgINAfCcV1RXl2CHLHwkczANBgkqhkiG9w0BAQsFADBMMSAw
HgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFs
U2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjAeFw0xODExMDEwMDAwNDJaFw0yMTEy
MTUwMDAwNDJaMEExCzAJBgNVBAYTAlVTMSIwIAYDVQQKExlHb29nbGUgVHJ1c3Qg
U2VydmljZXMgTExDMQ4wDAYDVQQDEwVHSUFHNDCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAL0sOwJ4bKMmGuc/3KyrbQedl/kdJXd1HUAVOGHP+MJheunK
R3hDjEpoXWmOUc2K6MGepBtcVy60qFVLrnVD0X4P840ar/wAFQyRanPDp4YIc2lm
VPc5YbUYGOJceGeqQ6LE7keYpgnCr8Kog87Tia+GCh7pNt6d3Mbtcw51LLjfnJuE
5FbSNUrLknPbdbhKwbxSHFur93S3I6z5JsBOtbnWUJQQxycwhcK4Vy7Vy5ZrkgOf
/aTrliflN60oEuyAkn2vN75AXtNMpoyGU+qIA11rhbLuHnbntu5xvIPYDtWKMyFA
le/sxMRtBuZMU6L4rPhSacvYSCMUha0SCjOA12kCAwEAAaOCATwwggE4MA4GA1Ud
DwEB/wQEAwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwEgYDVR0T
AQH/BAgwBgEB/wIBADAdBgNVHQ4EFgQU7gqTztnU95qpl0RQNWbYzX1vWhAwHwYD
VR0jBBgwFoAUm+IHV2ccHsBqBt5ZtJot39wZhi4wYAYIKwYBBQUHAQEEVDBSMCUG
CCsGAQUFBzABhhlodHRwOi8vb2NzcC5wa2kuZ29vZy9nc3IyMCkGCCsGAQUFBzAC
hh1odHRwOi8vcGtpLmdvb2cvZ3NyMi9nc3IyLmNydDAyBgNVHR8EKzApMCegJaAj
hiFodHRwOi8vY3JsLnBraS5nb29nL2dzcjIvZ3NyMi5jcmwwHQYDVR0gBBYwFDAI
BgZngQwBAgEwCAYGZ4EMAQICMA0GCSqGSIb3DQEBCwUAA4IBAQAONoHxkjYOXrwm
y99ZHUZdBxrOel3cFM0S0+gMdK20hwiu8aIPVtDhGzKao0Xnug1jRhZxT5dHrEYZ
QVWmYj1m6T8RcqvV5mH8hbHmU0mYJlKVOHUxpNDmO8ikPiSvit5sM6zPsu5OpEo2
QaW76wRmYaj/j5Ma/g83+AvvLIqSXC+tAwX+dMY45QrANzEa7CQOWOdQwH5/lgv6
a/7rj+fv+03LeJApWZZu5i2dTzpu6+XFcPaXm5Tv9nulgz00djrY1hjSuxGf2Z5z
GrmenEnn8kHB5lEaEk+840sfFccQimMunBglEe0LgHzjZULqa6BT1xIdkB+023Hf
HBV1amXo
-----END CERTIFICATE-----
framework/src/main/res/raw/giag4ecc.pem
deleted
100644 → 0
View file @
009bbd4c
-----BEGIN CERTIFICATE-----
MIICzTCCAnSgAwIBAgINAfCcV4rg6fwYVYZ8ZDAKBggqhkjOPQQDAjBQMSQwIgYD
VQQLExtHbG9iYWxTaWduIEVDQyBSb290IENBIC0gUjQxEzARBgNVBAoTCkdsb2Jh
bFNpZ24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMTgxMTAxMDAwMDQyWhcNMjgx
MTAxMDAwMDQyWjBFMQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0
IFNlcnZpY2VzIExMQzESMBAGA1UEAxMJR0lBRzQgRUNDMFkwEwYHKoZIzj0CAQYI
KoZIzj0DAQcDQgAEWgDxDsTP7Od9rB8TPUltMacYCHYINthcDjlPu3wP0Csmy6Dr
it3ghqaTqFecqcgks5RwcKQkT9rbY3e8lHuuA6OCATwwggE4MA4GA1UdDwEB/wQE
AwIBhjAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwEgYDVR0TAQH/BAgw
BgEB/wIBADAdBgNVHQ4EFgQUgIz8FgrI85nOXJO/Y+NKlsucmbQwHwYDVR0jBBgw
FoAUVLB7rUW44kB/+wpu+74zyTyjhNUwYAYIKwYBBQUHAQEEVDBSMCUGCCsGAQUF
BzABhhlodHRwOi8vb2NzcC5wa2kuZ29vZy9nc3I0MCkGCCsGAQUFBzAChh1odHRw
Oi8vcGtpLmdvb2cvZ3NyNC9nc3I0LmNydDAyBgNVHR8EKzApMCegJaAjhiFodHRw
Oi8vY3JsLnBraS5nb29nL2dzcjQvZ3NyNC5jcmwwHQYDVR0gBBYwFDAIBgZngQwB
AgEwCAYGZ4EMAQICMAoGCCqGSM49BAMCA0cAMEQCIHefcgvUaglzgnTWmDYl1CWe
X3GXf0bC9zKDpXDXQSv+AiB4uN8G0OaMfc6LQXcg3EBGX/3ER7kj6WdPct/JGbt3
gw==
-----END CERTIFICATE-----
framework/src/main/res/raw/googleca1.pem
deleted
100644 → 0
View file @
009bbd4c
-----BEGIN CERTIFICATE-----
MIIEuDCCA6CgAwIBAgIQC9E5g/AsZUQf/kndVg5eLDANBgkqhkiG9w0BAQsFADBl
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
d3cuZGlnaWNlcnQuY29tMSQwIgYDVQQDExtEaWdpQ2VydCBBc3N1cmVkIElEIFJv
b3QgQ0EwHhcNMTUwODI1MTIwMDAwWhcNMjUwODI1MTIwMDAwWjBeMQswCQYDVQQG
EwJVUzELMAkGA1UECBMCQ0ExFjAUBgNVBAcTDU1vdW50YWluIFZpZXcxFTATBgNV
BAoTDEdvb2dsZSwgSW5jLjETMBEGA1UEAxMKR29vZ2xlIENBMTCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBALqWMezVPbG3lsUiEggEQRlDY/2CplKaBcZz
PnBcFPfEJt01pPkJJG4Fje0nAagRyh6sB7ejmb5IQhG1dw+wtog5JzPK4iXUeOX/
Zg8x1IjtdgB8samqOeD60hryLpAQsVNATvFFfM4P2QxVKETy+uD5PcVpXfU4c5cL
bOgYugpI2ehzORIhYoiHDkr8fLRiB3NP53AQY7KKf3HkSuuNeUXlyqchRxBKh+Nj
+uF6xnQ2ElZYtI2YVA0KBwgo2cSKQGoC2DOaa8lb3VgRk7x+J9I9LszyDPK4gvl2
Mhyp6VvyYGq4FwAwULyEcETcBLr3701WuCSJT4QmMDKOKi84cb0CAwEAAaOCAWkw
ggFlMBIGA1UdEwEB/wQIMAYBAf8CAQAwDgYDVR0PAQH/BAQDAgGGMHkGCCsGAQUF
BwEBBG0wazAkBggrBgEFBQcwAYYYaHR0cDovL29jc3AuZGlnaWNlcnQuY29tMEMG
CCsGAQUFBzAChjdodHRwOi8vY2FjZXJ0cy5kaWdpY2VydC5jb20vRGlnaUNlcnRB
c3N1cmVkSURSb290Q0EuY3J0MEUGA1UdHwQ+MDwwOqA4oDaGNGh0dHA6Ly9jcmw0
LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydEFzc3VyZWRJRFJvb3RDQS5jcmwwPQYDVR0g
BDYwNDAyBgRVHSAAMCowKAYIKwYBBQUHAgEWHGh0dHBzOi8vd3d3LmRpZ2ljZXJ0
LmNvbS9DUFMwHQYDVR0OBBYEFBV/772J7ryuGhmJxSredhbMJsZuMB8GA1UdIwQY
MBaAFEXroq/0ksuCMS1Ri6enIZ3zbcgPMA0GCSqGSIb3DQEBCwUAA4IBAQBFZSzB
naSkqUajv9RZ2J8kfmzf3BOAZRjeJCBmcQhU14Spat+Q7bFHoTQZWF07VKPEBdj1
egZxdWF4Y/AAYrmX91N2F7AS+h9iI3gQdKVyJLDGxL09QPqaulVtt+ltXPU0KtQy
B5czZGzvwKfmD/UCI/aen2VQnRy83weQzgDfxv+zVMb/75sUguaVxXiLaH73Fs7F
qUK6uyhnkKFf+b5xZ0dvN3tYSDE7UH1KQHd1nf3iY1l7mz8oTQPRz0pXAF3KCilo
cPgNuFf41ExruL+sX7fwWok2rlzrIzHxqnYYiMZnDw1abrGKDw15ohTG+cZCjpJf
l4NzPnfo6QDWgin+
-----END CERTIFICATE-----
framework/src/main/res/raw/gsr2.pem
deleted
100644 → 0
View file @
009bbd4c
-----BEGIN CERTIFICATE-----
MIIDujCCAqKgAwIBAgILBAAAAAABD4Ym5g0wDQYJKoZIhvcNAQEFBQAwTDEgMB4G
A1UECxMXR2xvYmFsU2lnbiBSb290IENBIC0gUjIxEzARBgNVBAoTCkdsb2JhbFNp
Z24xEzARBgNVBAMTCkdsb2JhbFNpZ24wHhcNMDYxMjE1MDgwMDAwWhcNMjExMjE1
MDgwMDAwWjBMMSAwHgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEG
A1UEChMKR2xvYmFsU2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjCCASIwDQYJKoZI
hvcNAQEBBQADggEPADCCAQoCggEBAKbPJA6+Lm8omUVCxKs+IVSbC9N/hHD6ErPL
v4dfxn+G07IwXNb9rfF73OX4YJYJkhD10FPe+3t+c4isUoh7SqbKSaZeqKeMWhG8
eoLrvozps6yWJQeXSpkqBy+0Hne/ig+1AnwblrjFuTosvNYSuetZfeLQBoZfXklq
tTleiDTsvHgMCJiEbKjNS7SgfQx5TfC4LcshytVsW33hoCmEofnTlEnLJGKRILzd
C9XZzPnqJworc5HGnRusyMvo4KD0L5CLTfuwNhv2GXqF4G3yYROIXJ/gkwpRl4pa
zq+r1feqCapgvdzZX99yqWATXgAByUr6P6TqBwMhAo6CygPCm48CAwEAAaOBnDCB
mTAOBgNVHQ8BAf8EBAMCAQYwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUm+IH
V2ccHsBqBt5ZtJot39wZhi4wNgYDVR0fBC8wLTAroCmgJ4YlaHR0cDovL2NybC5n
bG9iYWxzaWduLm5ldC9yb290LXIyLmNybDAfBgNVHSMEGDAWgBSb4gdXZxwewGoG
3lm0mi3f3BmGLjANBgkqhkiG9w0BAQUFAAOCAQEAmYFThxxol4aR7OBKuEQLq4Gs
J0/WwbgcQ3izDJr86iw8bmEbTUsp9Z8FHSbBuOmDAGJFtqkIk7mpM0sYmsL4h4hO
291xNBrBVNpGP+DTKqttVCL1OmLNIG+6KYnX3ZHu01yiPqFbQfXf5WRDLenVOavS
ot+3i9DAgBkcRcAtjOj4LaR0VknFBbVPFd5uRHg5h6h+u/N5GJG79G+dwfCMNYxd
AfvDbbnvRG15RjF+Cv6pgsH/76tuIMRQyV+dTZsXjAzlAcmgQWpzU/qlULRuJQ/7
TBj0/VLZjmmx6BEP3ojY+x1J96relc8geMJgEtslQIxq/H5COEBkEveegeGTLg==
-----END CERTIFICATE-----
framework/src/main/res/raw/gsr4.pem
deleted
100644 → 0
View file @
009bbd4c
-----BEGIN CERTIFICATE-----
MIIB4TCCAYegAwIBAgIRKjikHJYKBN5CsiilC+g0mAIwCgYIKoZIzj0EAwIwUDEk
MCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBDQSAtIFI0MRMwEQYDVQQKEwpH
bG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWduMB4XDTEyMTExMzAwMDAwMFoX
DTM4MDExOTAzMTQwN1owUDEkMCIGA1UECxMbR2xvYmFsU2lnbiBFQ0MgUm9vdCBD
QSAtIFI0MRMwEQYDVQQKEwpHbG9iYWxTaWduMRMwEQYDVQQDEwpHbG9iYWxTaWdu
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEuMZ5049sJQ6fLjkZHAOkrprlOQcJ
FspjsbmG+IpXwVfOQvpzofdlQv8ewQCybnMO/8ch5RikqtlxP6jUuc6MHaNCMEAw
DgYDVR0PAQH/BAQDAgEGMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFFSwe61F
uOJAf/sKbvu+M8k8o4TVMAoGCCqGSM49BAMCA0gAMEUCIQDckqGgE6bPA7DmxCGX
kPoUVy0D7O48027KqGx2vKLeuwIgJ6iFJzWbVsaj8kfSt24bAgAXqmemFZHe+pTs
ewv4n4Q=
-----END CERTIFICATE-----
framework/src/main/res/raw/gts1d2.pem
deleted
100644 → 0
View file @
009bbd4c
-----BEGIN CERTIFICATE-----
MIIESjCCAzKgAwIBAgINAeO0nXfN9AwGGRa24zANBgkqhkiG9w0BAQsFADBMMSAw
HgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFs
U2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjAeFw0xNzA2MTUwMDAwNDJaFw0yMTEy
MTUwMDAwNDJaMEIxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVHb29nbGUgVHJ1c3Qg
U2VydmljZXMxEzARBgNVBAMTCkdUUyBDQSAxRDIwggEiMA0GCSqGSIb3DQEBAQUA
A4IBDwAwggEKAoIBAQCy2Xvh4dc/HJFy//kQzYcVeXS3PkeLsmFV/Qw2xn53Qjqy
+lJbC3GB1k3V6SskTSNeiytyXyFVtSnvRMvrglKrPiekkklBSt6o3THgPN9tek0t
1m0JsA7jYfKy/pBsWnsQZEm0CzwI8up5DGymGolqVjKgKaIwgo+BUQzzornZdbki
nicUukovLGNYh/FdEOZfkbu5W8xH4h51toyPzHVdVwXngsaEDnRyKss7VfVucOtm
acMkuziTNZtoYS+b1q6md3J8cUhYMxCv6YCCHbUHQBv2PeyirUedtJQpNLOML80l
A1g1wCWkVV/hswdWPcjQY7gg+4wdQyz4+anV7G+XAgMBAAGjggEzMIIBLzAOBgNV
HQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMBIGA1Ud
EwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFLHdMl3otzdy0s5czib+R3niAQjpMB8G
A1UdIwQYMBaAFJviB1dnHB7AagbeWbSaLd/cGYYuMDUGCCsGAQUFBwEBBCkwJzAl
BggrBgEFBQcwAYYZaHR0cDovL29jc3AucGtpLmdvb2cvZ3NyMjAyBgNVHR8EKzAp
MCegJaAjhiFodHRwOi8vY3JsLnBraS5nb29nL2dzcjIvZ3NyMi5jcmwwPwYDVR0g
BDgwNjA0BgZngQwBAgEwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly9wa2kuZ29vZy9y
ZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAcUrEwyOu9+OyAnmME+hTjoDF
8OPvcWCpqXs0ZYU0vUc7A1cWAJlIOuDg8OrNtkg81aty8NAby2QtOw10aNd0iDF8
aroO8IxNeM7aEPSKlkWXqZetxTUaGGTok7YNnR+5Xh2A6udbnI6uDqaE0tEXzrP7
9oFPPOZon8/xpnbFfafz3X1YD+D2YQEcUY52MytInVyBUXIIF7r9AdPuRvn0smhA
mTEBbE8bxlbrgXPSeVIFkiZbcc2dxNLOI3cPQXppXiElxvi3/3r3R97CAHucWkWc
Kk5GkNl1LNj/jO7M3GnrbOYV0KP/SAusVd/fJZ1CtlGjZpVgxdAi5yJ6UaXMhw==
-----END CERTIFICATE-----
framework/src/main/res/raw/gts1o1.pem
deleted
100644 → 0
View file @
009bbd4c
-----BEGIN CERTIFICATE-----
MIIESjCCAzKgAwIBAgINAeO0mqGNiqmBJWlQuDANBgkqhkiG9w0BAQsFADBMMSAw
HgYDVQQLExdHbG9iYWxTaWduIFJvb3QgQ0EgLSBSMjETMBEGA1UEChMKR2xvYmFs
U2lnbjETMBEGA1UEAxMKR2xvYmFsU2lnbjAeFw0xNzA2MTUwMDAwNDJaFw0yMTEy
MTUwMDAwNDJaMEIxCzAJBgNVBAYTAlVTMR4wHAYDVQQKExVHb29nbGUgVHJ1c3Qg
U2VydmljZXMxEzARBgNVBAMTCkdUUyBDQSAxTzEwggEiMA0GCSqGSIb3DQEBAQUA
A4IBDwAwggEKAoIBAQDQGM9F1IvN05zkQO9+tN1pIRvJzzyOTHW5DzEZhD2ePCnv
UA0Qk28FgICfKqC9EksC4T2fWBYk/jCfC3R3VZMdS/dN4ZKCEPZRrAzDsiKUDzRr
mBBJ5wudgzndIMYcLe/RGGFl5yODIKgjEv/SJH/UL+dEaltN11BmsK+eQmMF++Ac
xGNhr59qM/9il71I2dN8FGfcddwuaej4bXhp0LcQBbjxMcI7JP0aM3T4I+DsaxmK
FsbjzaTNC9uzpFlgOIg7rR25xoynUxv8vNmkq7zdPGHXkxWY7oG9j+JkRyBABk7X
rJfoucBZEqFJJSPk7XA0LKW0Y3z5oz2D0c1tJKwHAgMBAAGjggEzMIIBLzAOBgNV
HQ8BAf8EBAMCAYYwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMBIGA1Ud
EwEB/wQIMAYBAf8CAQAwHQYDVR0OBBYEFJjR+G4Q68+b7GCfGJAboOt9Cf0rMB8G
A1UdIwQYMBaAFJviB1dnHB7AagbeWbSaLd/cGYYuMDUGCCsGAQUFBwEBBCkwJzAl
BggrBgEFBQcwAYYZaHR0cDovL29jc3AucGtpLmdvb2cvZ3NyMjAyBgNVHR8EKzAp
MCegJaAjhiFodHRwOi8vY3JsLnBraS5nb29nL2dzcjIvZ3NyMi5jcmwwPwYDVR0g
BDgwNjA0BgZngQwBAgIwKjAoBggrBgEFBQcCARYcaHR0cHM6Ly9wa2kuZ29vZy9y
ZXBvc2l0b3J5LzANBgkqhkiG9w0BAQsFAAOCAQEAGoA+Nnn78y6pRjd9XlQWNa7H
TgiZ/r3RNGkmUmYHPQq6Scti9PEajvwRT2iWTHQr02fesqOqBY2ETUwgZQ+lltoN
FvhsO9tvBCOIazpswWC9aJ9xju4tWDQH8NVU6YZZ/XteDSGU9YzJqPjY8q3MDxrz
mqepBCf5o8mw/wJ4a2G6xzUr6Fb6T8McDO22PLRL6u3M4Tzs3A2M1j6bykJYi8wW
IRdAvKLWZu/axBVbzYmqmwkm5zLSDW5nIAJbELCQCZwMH56t2Dvqofxs6BBcCFIZ
USpxu6x6td0V7SvJCCosirSmIatj/9dSSVDQibet8q/7UK4v4ZUN80atnZz1yg==
-----END CERTIFICATE-----
framework/src/main/res/raw/gtsca1d3.pem
deleted
100644 → 0
View file @
009bbd4c
-----BEGIN CERTIFICATE-----
MIIDTzCCArigAwIBAgIDFXk3MA0GCSqGSIb3DQEBCwUAME4xCzAJBgNVBAYTAlVT
MRAwDgYDVQQKEwdFcXVpZmF4MS0wKwYDVQQLEyRFcXVpZmF4IFNlY3VyZSBDZXJ0
aWZpY2F0ZSBBdXRob3JpdHkwHhcNMTgwNTI5MjExODA5WhcNMjEwNTI4MjExODA5
WjBCMQswCQYDVQQGEwJVUzEeMBwGA1UEChMVR29vZ2xlIFRydXN0IFNlcnZpY2Vz
MRMwEQYDVQQDEwpHVFMgQ0EgMUQzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAsUX4++gDvlpQYGaFi9JmomOPfqAsDVJBCLMQa8Ox2vBPsdd7ZqzqiVJq
uTRnSWNnOJBSuzf+RDZuEZz9eS5kZ19DcwrRU/aIKEhPBcnui7Z//JZpHBF6ai89
CXpChanZXbX6I9ylVomPI9+uuTb63RUAy6++1I/FdU/G/YTVNbJHsHXyBSHm7C53
7EPXowAH5zQZ8t18IoLuPVBrQpDVKvBVMdT9Wc21fvPvrkEY+Il/6Z8NXL/kUmAM
xsSsulpUBwEUKe+1haRtGMsM6DZhN3Tphr+AwTioLnSvaNDyqo+zfpJeXsoiwFLH
+Y6YsP6R5IjVBzUoimFgeWeTSbYPYQIDAQABo4HCMIG/MB8GA1UdIwQYMBaAFEjm
aPkr0rKV10fYIyAQTzOYkJ/UMB0GA1UdDgQWBBRQbcJVUeVAiBsJA/ZH/ACBwQZD
zzASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBhjAdBgNVHSUEFjAU
BggrBgEFBQcDAQYIKwYBBQUHAwIwOgYDVR0fBDMwMTAvoC2gK4YpaHR0cDovL2Ny
bC5nZW90cnVzdC5jb20vY3Jscy9zZWN1cmVjYS5jcmwwDQYJKoZIhvcNAQELBQAD
gYEAEFScZI+pEn2EoNsg7jh5Hx5JzRaoJ5kDmYElkz57VxUFsaYTGU+RzCGBbPw7
mC8Xd65ZrRdXB9hP94rONZIM9KBBLd/3f8KBBJ7+206ZMhUcsNdkbIJ/RVcHZrRM
tbLeXtTDPEkJfydThlx5PMRi6khqpYrB3Bd7C5Pp0fSqDfk=
-----END CERTIFICATE-----
framework/src/main/res/raw/gtsltsr.pem
deleted
100644 → 0
View file @
009bbd4c
-----BEGIN CERTIFICATE-----
MIIBxTCCAWugAwIBAgINAfD3nVndblD3QnNxUDAKBggqhkjOPQQDAjBEMQswCQYD
VQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzERMA8G
A1UEAxMIR1RTIExUU1IwHhcNMTgxMTAxMDAwMDQyWhcNNDIxMTAxMDAwMDQyWjBE
MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExM
QzERMA8GA1UEAxMIR1RTIExUU1IwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATN
8YyO2u+yCQoZdwAkUNv5c3dokfULfrA6QJgFV2XMuENtQZIG5HUOS6jFn8f0ySlV
eORCxqFyjDJyRn86d+Iko0IwQDAOBgNVHQ8BAf8EBAMCAYYwDwYDVR0TAQH/BAUw
AwEB/zAdBgNVHQ4EFgQUPv7/zFLrvzQ+PfNA0OQlsV+4u1IwCgYIKoZIzj0EAwID
SAAwRQIhAPKuf/VtBHqGw3TUwUIq7TfaExp3bH7bjCBmVXJupT9FAiBr0SmCtsuk
miGgpajjf/gFigGM34F9021bCWs1MbL0SA==
-----END CERTIFICATE-----
framework/src/main/res/raw/gtsltsx.pem
deleted
100644 → 0
View file @
009bbd4c
-----BEGIN CERTIFICATE-----
MIIC0TCCAnagAwIBAgINAfQKmcm3qFVwT0+3nTAKBggqhkjOPQQDAjBEMQswCQYD
VQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExMQzERMA8G
A1UEAxMIR1RTIExUU1IwHhcNMTkwMTIzMDAwMDQyWhcNMjkwNDAxMDAwMDQyWjBE
MQswCQYDVQQGEwJVUzEiMCAGA1UEChMZR29vZ2xlIFRydXN0IFNlcnZpY2VzIExM
QzERMA8GA1UEAxMIR1RTIExUU1gwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARr
6/PTsGoOg9fXhJkj3CAk6C6DxHPnZ1I+ER40vEe290xgTp0gVplokojbN3pFx07f
zYGYAX5EK7gDQYuhpQGIo4IBSzCCAUcwDgYDVR0PAQH/BAQDAgGGMB0GA1UdJQQW
MBQGCCsGAQUFBwMBBggrBgEFBQcDAjASBgNVHRMBAf8ECDAGAQH/AgEAMB0GA1Ud
DgQWBBSzK6ugSBx+E4rJCMRAQiKiNlHiCjAfBgNVHSMEGDAWgBQ+/v/MUuu/ND49
80DQ5CWxX7i7UjBpBggrBgEFBQcBAQRdMFswKAYIKwYBBQUHMAGGHGh0dHA6Ly9v
Y3NwLnBraS5nb29nL2d0c2x0c3IwLwYIKwYBBQUHMAKGI2h0dHA6Ly9wa2kuZ29v
Zy9ndHNsdHNyL2d0c2x0c3IuY3J0MDgGA1UdHwQxMC8wLaAroCmGJ2h0dHA6Ly9j
cmwucGtpLmdvb2cvZ3RzbHRzci9ndHNsdHNyLmNybDAdBgNVHSAEFjAUMAgGBmeB
DAECATAIBgZngQwBAgIwCgYIKoZIzj0EAwIDSQAwRgIhAPWeg2v4yeimG+lzmZAC
DJOlalpsiwJR0VOeapY8/7aQAiEAiwRsSQXUmfVUW+N643GgvuMH70o2Agz8w67f
SX+k+Lc=
-----END CERTIFICATE-----
Prev
1
2
3
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment