make LocalRepoKeyStore into a proper singleton
Hopefully this makes Peter happy ;-)
This commit is contained in:
parent
544b924ab9
commit
e41ae50812
@ -1,6 +1,8 @@
|
|||||||
|
|
||||||
package org.fdroid.fdroid.localrepo;
|
package org.fdroid.fdroid.localrepo;
|
||||||
|
|
||||||
|
import android.content.Context;
|
||||||
|
|
||||||
import org.fdroid.fdroid.FDroidApp;
|
import org.fdroid.fdroid.FDroidApp;
|
||||||
import org.spongycastle.asn1.ASN1Sequence;
|
import org.spongycastle.asn1.ASN1Sequence;
|
||||||
import org.spongycastle.asn1.x500.X500Name;
|
import org.spongycastle.asn1.x500.X500Name;
|
||||||
@ -48,11 +50,36 @@ public class LocalRepoKeyStore {
|
|||||||
|
|
||||||
private static final String DEFAULT_INDEX_CERT_INFO = "O=Kerplapp,OU=GuardianProject";
|
private static final String DEFAULT_INDEX_CERT_INFO = "O=Kerplapp,OU=GuardianProject";
|
||||||
|
|
||||||
|
private static LocalRepoKeyStore localRepoKeyStore;
|
||||||
private KeyStore keyStore;
|
private KeyStore keyStore;
|
||||||
private KeyManager[] keyManagers;
|
private KeyManager[] keyManagers;
|
||||||
private File backingFile;
|
private File backingFile;
|
||||||
|
|
||||||
public LocalRepoKeyStore(File backingFile) throws KeyStoreException, NoSuchAlgorithmException,
|
public static LocalRepoKeyStore get(Context context) {
|
||||||
|
|
||||||
|
if (localRepoKeyStore == null) {
|
||||||
|
File appKeyStoreDir = context.getDir("keystore", Context.MODE_PRIVATE);
|
||||||
|
File keyStoreFile = new File(appKeyStoreDir, "kerplapp.bks");
|
||||||
|
try {
|
||||||
|
localRepoKeyStore = new LocalRepoKeyStore(keyStoreFile);
|
||||||
|
} catch (UnrecoverableKeyException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (KeyStoreException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (NoSuchAlgorithmException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (CertificateException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (OperatorCreationException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return localRepoKeyStore;
|
||||||
|
}
|
||||||
|
|
||||||
|
private LocalRepoKeyStore(File backingFile) throws KeyStoreException, NoSuchAlgorithmException,
|
||||||
CertificateException, IOException, OperatorCreationException, UnrecoverableKeyException {
|
CertificateException, IOException, OperatorCreationException, UnrecoverableKeyException {
|
||||||
this.backingFile = backingFile;
|
this.backingFile = backingFile;
|
||||||
this.keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
|
this.keyStore = KeyStore.getInstance(KeyStore.getDefaultType());
|
||||||
|
Loading…
x
Reference in New Issue
Block a user