我试图使用java applet在pdf上实现数字签名。我已将所需的jar传递给applet
public class CertificateFragment extends BaseFragment {
private static final String ARG_PARAM1 = "param1";
private static final String ARG_PARAM2 = "param2";
//protected ViewGroup root;
protected Context context;
@Bind(R.id.rv_Certificates) RecyclerView rvCertificates;
private CertificateRVAdapter.CertificateClickListener listener = new CertificateRVAdapter.CertificateClickListener() {
@Override
public void onCertificateClicked(Certificates certificate) {
Toast.makeText(getActivity(), certificate.getName() +" Clicked", Toast.LENGTH_SHORT).show();
//interactionListener.launchCourseListingFragment();
interactionListener.launchCoursesListOfCertificatesFragment(certificate);
}
};
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
if(root==null) {
root = (ViewGroup) inflater.inflate(R.layout.fragment_certificate, container, false);
ButterKnife.bind(this, root);
initInstances();
getCertificates();
}
return root;
}
// rvCourseListing.setItemAnimator(new DefaultItemAnimator());
// rvCourseListing.setLayoutManager(new LinearLayoutManager(getActivity()));
// rvCourseListing.setHasFixedSize(true);
//
private void initInstances() {
//uiHelper = new UIHelper(getActivity());
((HomeActivity) getActivity()).getSupportActionBar().setHomeButtonEnabled(true);
((HomeActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
((HomeActivity) getActivity()).getSupportActionBar().setTitle("");
rvCertificates.setItemAnimator(new DefaultItemAnimator());
rvCertificates.setLayoutManager(new LinearLayoutManager(getActivity()));
rvCertificates.setHasFixedSize(true);
}
private void getCertificates() {
Call<AllCertificateResponse> call = RestClient.getCMSServiceInstance().getCertificates();
call.enqueue(new Callback<AllCertificateResponse>() {
@Override
public void onResponse(Response<AllCertificateResponse> response, Retrofit retrofit) {
if (response.isSuccess()) {
//com.squareup.okhttp.Response raw = response.body().raw();
List<Certificates> certificates = response.body().getCertificates();
if (certificates != null)
showCertificates(certificates);
Toast.makeText(getActivity(), "Success in getting certificates", Toast.LENGTH_SHORT).show();
} else {
Log.d("CERT", "response is failure");
}
}
@Override
public void onFailure(Throwable t) {
Toast.makeText(getActivity(), "Failure", Toast.LENGTH_SHORT).show();
}
});
}
public void showCertificates(List<Certificates> certificates){
CertificateRVAdapter adapter = new CertificateRVAdapter(getActivity(), certificates);
adapter.setCertificateClickListener(listener);
rvCertificates.setAdapter(adapter);
}
public FragmentId getFragmentId() {
return FragmentId.COURSE_LISTING_FRAGMENT;
}
}
但无法在浏览器上运行,即使它适用于applet查看器。当我在/ jre / lib / ext文件夹中添加这些jar时,它也会在浏览器上运行。
我无法将jar放在指定的文件夹上,因为applet在客户端的浏览器上运行,并且不是将jar放在每个客户端的PC上的好方法。
答案 0 :(得分:2)
您无法在未经许可的情况下添加安全提供程序。您需要签署代码并让用户接受小程序进行更改才能执行此操作。