我有一个组合的.pem文件,如下所示:
public class Phrases {
public Context context;
public static String[] categories = {"feeling","home","work","medical","food","activity","common","emergency"};
private static Phrases phrases = null;
public Map<String,String[]> allPhrases = new HashMap<>();
private Phrases() {
}
public static Phrases getPhrases() {
if(phrases == null) {
phrases = new Phrases();
}
return phrases;
}
public void fetchAllPhrases(Context context) {
this.context = context;
Resources res = context.getResources();
allPhrases.put(categories[0],res.getStringArray(R.array.feeling));
allPhrases.put(categories[1],res.getStringArray(R.array.home));
allPhrases.put(categories[2],res.getStringArray(R.array.work));
allPhrases.put(categories[3],res.getStringArray(R.array.medical));
allPhrases.put(categories[4],res.getStringArray(R.array.food));
allPhrases.put(categories[5],res.getStringArray(R.array.activity));
allPhrases.put(categories[6],res.getStringArray(R.array.common));
allPhrases.put(categories[7],res.getStringArray(R.array.emergency));
// Log.v("PHRASES",Arrays.toString(allPhrases.toString()));
}
public Map<String,String[]> getallPhrases() {
return allPhrases;
}
}
我认为这是ssl,key和ca的组合。我需要将其转换为truststore.jks和keystore.jks以用于我的服务。
public class CustomFragment extends Fragment {
private ArrayAdapter<String> adapter;
private ListView listView;
private FloatingactionButton addPhraseButton;
private TextView phraseTitleTextView;
private TextToSpeech textToSpeech;
private String[] phrases;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater,@Nullable ViewGroup container,@Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_custom,container,false);
//receive intent
String categories = getarguments().getString("categories");
Phrases phrasesObj = Phrases.getPhrases();
phrasesObj.fetchAllPhrases(view.getcontext());
phrases = phrasesObj.getallPhrases().get(categories);
phraseTitleTextView = view.findViewById(R.id.label_phrases_txtview);
addPhraseButton = view.findViewById(R.id.add_phrases_btn);
// setting local for text to speech
textToSpeech = new TextToSpeech(getactivity().getapplicationContext(),new TextToSpeech.OnInitListener() {
@Override
public void onInit(int status) {
textToSpeech.setLanguage(Locale.US);
}
});
//setting adapter and listview
adapter = new ArrayAdapter<String>(getcontext(),R.layout.entry_item,R.id.phrase_textview,phrases);
listView = (ListView) view.findViewById(R.id.phrases_list);
listView.setadapter(adapter);
listView.setItemsCanFocus(true);
listView.setOnItemClicklistener(new AdapterView.OnItemClicklistener() {
@Override
public void onItemClick(AdapterView<?> paren,View view,int position,long id) {
String text = phrases[position];
Toast.makeText(getcontext(),text,Toast.LENGTH_LONG).show();
textToSpeech.speak(text,TextToSpeech.QUEUE_FLUSH,null,null);
}
});
return view;
}
}
但是抛出:
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
如果我尝试也发生以下情况:
openssl pkcs12 -export -out cert.pkcs12 -in cert
keytool -importcert -v -trustcacerts -alias eb-srv -file cert.pkcs12 -keystore truststore.jks